13 Nov, 2020

2 commits

  • …cm/fs/fscrypt/fscrypt") into android-mainline

    Steps on the way to 5.10-rc4

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I8554ba37704bee02192ff6117d4909fde568fca2

    Greg Kroah-Hartman
     
  • Pull networking fixes from Jakub Kicinski:
    "Current release - regressions:

    - arm64: dts: fsl-ls1028a-kontron-sl28: specify in-band mode for
    ENETC

    Current release - bugs in new features:

    - mptcp: provide rmem[0] limit offset to fix oops

    Previous release - regressions:

    - IPv6: Set SIT tunnel hard_header_len to zero to fix path MTU
    calculations

    - lan743x: correctly handle chips with internal PHY

    - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE

    - mlx5e: Fix VXLAN port table synchronization after function reload

    Previous release - always broken:

    - bpf: Zero-fill re-used per-cpu map element

    - fix out-of-order UDP packets when forwarding with UDP GSO fraglists
    turned on:
    - fix UDP header access on Fast/frag0 UDP GRO
    - fix IP header access and skb lookup on Fast/frag0 UDP GRO

    - ethtool: netlink: add missing netdev_features_change() call

    - net: Update window_clamp if SOCK_RCVBUF is set

    - igc: Fix returning wrong statistics

    - ch_ktls: fix multiple leaks and corner cases in Chelsio TLS offload

    - tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies

    - r8169: disable hw csum for short packets on all chip versions

    - vrf: Fix fast path output packet handling with async Netfilter
    rules"

    * tag 'net-5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (65 commits)
    lan743x: fix use of uninitialized variable
    net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO
    net: udp: fix UDP header access on Fast/frag0 UDP GRO
    devlink: Avoid overwriting port attributes of registered port
    vrf: Fix fast path output packet handling with async Netfilter rules
    cosa: Add missing kfree in error path of cosa_write
    net: switch to the kernel.org patchwork instance
    ch_ktls: stop the txq if reaches threshold
    ch_ktls: tcb update fails sometimes
    ch_ktls/cxgb4: handle partial tag alone SKBs
    ch_ktls: don't free skb before sending FIN
    ch_ktls: packet handling prior to start marker
    ch_ktls: Correction in middle record handling
    ch_ktls: missing handling of header alone
    ch_ktls: Correction in trimmed_len calculation
    cxgb4/ch_ktls: creating skbs causes panic
    ch_ktls: Update cheksum information
    ch_ktls: Correction in finding correct length
    cxgb4/ch_ktls: decrypted bit is not enough
    net/x25: Fix null-ptr-deref in x25_connect
    ...

    Linus Torvalds
     

12 Nov, 2020

3 commits

  • …kernel/git/viro/vfs") into android-mainline

    Steps on the way to 5.10-rc4

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I9e0fa89c0f6f306fe802ae95c8d01d9ba558e111

    Greg Kroah-Hartman
     
  • By default, enabling RANDOMIZE_BASE on arm64 randomizes not just the
    kernel base address, but also the module region independently from the
    kernel, over a 4GiB range. As a consequence, modules can be out of
    reach for direct branches from/to the kernel, hence creating the need to
    resolve function calls via veneers in the module PLT.

    While this is good for security, this also introduces a non-negligible
    overhead in some benchmarks when parts of the scheduler policy is
    factored out in modules, as is the cases with GKI 2.0 on some devices.

    To get the performance back, disable RANDOMIZE_MODULE_REGION_FULL, which
    limits the range of randomization for the module area to remain within
    reach of direct branches. This is clearly a security trade-off as the
    module and kernel addresses have a stronger correlation, but this still
    remains preferable over the alternative which is no-GKI and having all
    drivers compiled into the kernel itself, as Android used to be in
    previous generations.

    Bug: 168521642
    Signed-off-by: Quentin Perret
    Change-Id: I8f4e05fbd308f99f38a4a2b33802ef1e195666e3

    Quentin Perret
     
  • Since commit 71b77a7a27a3 ("enetc: Migrate to PHYLINK and PCS_LYNX") the
    network port of the Kontron sl28 board is broken. After the migration to
    phylink the device tree has to specify the in-band-mode property. Add
    it.

    Fixes: 71b77a7a27a3 ("enetc: Migrate to PHYLINK and PCS_LYNX")
    Suggested-by: Vladimir Oltean
    Signed-off-by: Michael Walle
    Reviewed-by: Vladimir Oltean
    Link: https://lore.kernel.org/r/20201109110436.5906-1-michael@walle.cc
    Signed-off-by: Jakub Kicinski

    Michael Walle
     

11 Nov, 2020

2 commits


10 Nov, 2020

1 commit

  • Pull kvm fixes from Paolo Bonzini:
    "ARM:
    - fix compilation error when PMD and PUD are folded
    - fix regression in reads-as-zero behaviour of ID_AA64ZFR0_EL1
    - add aarch64 get-reg-list test

    x86:
    - fix semantic conflict between two series merged for 5.10
    - fix (and test) enforcement of paravirtual cpuid features

    selftests:
    - various cleanups to memory management selftests
    - new selftests testcase for performance of dirty logging"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (30 commits)
    KVM: selftests: allow two iterations of dirty_log_perf_test
    KVM: selftests: Introduce the dirty log perf test
    KVM: selftests: Make the number of vcpus global
    KVM: selftests: Make the per vcpu memory size global
    KVM: selftests: Drop pointless vm_create wrapper
    KVM: selftests: Add wrfract to common guest code
    KVM: selftests: Simplify demand_paging_test with timespec_diff_now
    KVM: selftests: Remove address rounding in guest code
    KVM: selftests: Factor code out of demand_paging_test
    KVM: selftests: Use a single binary for dirty/clear log test
    KVM: selftests: Always clear dirty bitmap after iteration
    KVM: selftests: Add blessed SVE registers to get-reg-list
    KVM: selftests: Add aarch64 get-reg-list test
    selftests: kvm: test enforcement of paravirtual cpuid features
    selftests: kvm: Add exception handling to selftests
    selftests: kvm: Clear uc so UCALL_NONE is being properly reported
    selftests: kvm: Fix the segment descriptor layout to match the actual layout
    KVM: x86: handle MSR_IA32_DEBUGCTLMSR with report_ignored_msrs
    kvm: x86: request masterclock update any time guest uses different msr
    kvm: x86: ensure pv_cpuid.features is initialized when enabling cap
    ...

    Linus Torvalds
     

09 Nov, 2020

3 commits

  • Linux 5.10-rc3

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I7884051ea7b86204b2685b51462368e122ad0772

    Greg Kroah-Hartman
     
  • Pull x86 fixes from Thomas Gleixner:
    "A set of x86 fixes:

    - Use SYM_FUNC_START_WEAK in the mem* ASM functions instead of a
    combination of .weak and SYM_FUNC_START_LOCAL which makes LLVMs
    integrated assembler upset

    - Correct the mitigation selection logic which prevented the related
    prctl to work correctly

    - Make the UV5 hubless system work correctly by fixing up the
    malformed table entries and adding the missing ones"

    * tag 'x86-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/platform/uv: Recognize UV5 hubless system identifier
    x86/platform/uv: Remove spaces from OEM IDs
    x86/platform/uv: Fix missing OEM_TABLE_ID
    x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP
    x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:

    - fix miscompilation with GCC 4.9 by using asm_goto_volatile for put_user()

    - fix for an RCU splat at boot caused by a recent lockdep change

    - fix for a possible deadlock in our EEH debugfs code

    - several fixes for handling of _PAGE_ACCESSED on 32-bit platforms

    - build fix when CONFIG_NUMA=n

    Thanks to Andreas Schwab, Christophe Leroy, Oliver O'Halloran, Qian Cai,
    and Scott Cheloha.

    * tag 'powerpc-5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/numa: Fix build when CONFIG_NUMA=n
    powerpc/8xx: Manage _PAGE_ACCESSED through APG bits in L1 entry
    powerpc/8xx: Always fault when _PAGE_ACCESSED is not set
    powerpc/40x: Always fault when _PAGE_ACCESSED is not set
    powerpc/603: Always fault when _PAGE_ACCESSED is not set
    powerpc: Use asm_goto_volatile for put_user()
    powerpc/smp: Call rcu_cpu_starting() earlier
    powerpc/eeh_cache: Fix a possible debugfs deadlock

    Linus Torvalds
     

08 Nov, 2020

8 commits

  • Windows2016 guest tries to enable LBR by setting the corresponding bits
    in MSR_IA32_DEBUGCTLMSR. KVM does not emulate MSR_IA32_DEBUGCTLMSR and
    spams the host kernel logs with error messages like:

    kvm [...]: vcpu1, guest rIP: 0xfffff800a8b687d3 kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop"

    This patch fixes this by enabling error logging only with
    'report_ignored_msrs=1'.

    Signed-off-by: Pankaj Gupta
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Pankaj Gupta
     
  • Commit 5b9bb0ebbcdc ("kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME)
    emulation in helper fn", 2020-10-21) subtly changed the behavior of guest
    writes to MSR_KVM_SYSTEM_TIME(_NEW). Restore the previous behavior; update
    the masterclock any time the guest uses a different msr than before.

    Fixes: 5b9bb0ebbcdc ("kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME) emulation in helper fn", 2020-10-21)
    Signed-off-by: Oliver Upton
    Reviewed-by: Peter Shier
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Oliver Upton
     
  • Make the paravirtual cpuid enforcement mechanism idempotent to ioctl()
    ordering by updating pv_cpuid.features whenever userspace requests the
    capability. Extract this update out of kvm_update_cpuid_runtime() into a
    new helper function and move its other call site into
    kvm_vcpu_after_set_cpuid() where it more likely belongs.

    Fixes: 66570e966dd9 ("kvm: x86: only provide PV features if enabled in guest's CPUID")
    Signed-off-by: Oliver Upton
    Reviewed-by: Peter Shier
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Oliver Upton
     
  • commit 66570e966dd9 ("kvm: x86: only provide PV features if enabled in
    guest's CPUID") only protects against disallowed guest writes to KVM
    paravirtual msrs, leaving msr reads unchecked. Fix this by enforcing
    KVM_CPUID_FEATURES for msr reads as well.

    Fixes: 66570e966dd9 ("kvm: x86: only provide PV features if enabled in guest's CPUID")
    Signed-off-by: Oliver Upton
    Reviewed-by: Peter Shier
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Oliver Upton
     
  • Recent introduction of the userspace msr filtering added code that uses
    negative error codes for cases that result in either #GP delivery to
    the guest, or handled by the userspace msr filtering.

    This breaks an assumption that a negative error code returned from the
    msr emulation code is a semi-fatal error which should be returned
    to userspace via KVM_RUN ioctl and usually kill the guest.

    Fix this by reusing the already existing KVM_MSR_RET_INVALID error code,
    and by adding a new KVM_MSR_RET_FILTERED error code for the
    userspace filtered msrs.

    Fixes: 291f35fb2c1d1 ("KVM: x86: report negative values from wrmsr emulation to userspace")
    Reported-by: Qian Cai
    Signed-off-by: Maxim Levitsky
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Maxim Levitsky
     
  • Fix an off-by-one style bug in pte_list_add() where it failed to
    account the last full set of SPTEs, i.e. when desc->sptes is full
    and desc->more is NULL.

    Merge the two "PTE_LIST_EXT-1" checks as part of the fix to avoid
    an extra comparison.

    Signed-off-by: Li RongQing
    Reviewed-by: Sean Christopherson
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Li RongQing
     
  • …/kvmarm/kvmarm into HEAD

    KVM/arm64 fixes for v5.10, take #2

    - Fix compilation error when PMD and PUD are folded
    - Fix regresssion of the RAZ behaviour of ID_AA64ZFR0_EL1

    Paolo Bonzini
     
  • Pull RISC-V fixes from Palmer Dabbelt:

    - SPDX comment style fix

    - ignore memory that is unusable

    - avoid setting a kernel text offset for the !MMU kernels, where
    skipping the first page of memory is both unnecessary and costly

    - avoid passing the flag bits in satp to pfn_to_virt()

    - fix __put_kernel_nofault, where we had the arguments to
    __put_user_nocheck reversed

    - workaround for a bug in the FU540 to avoid triggering PMP issues
    during early boot

    - change to how we pull symbols out of the vDSO. The old mechanism was
    removed from binutils-2.35 (and has been backported to Debian's 2.34)

    * tag 'riscv-for-linus-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    RISC-V: Fix the VDSO symbol generaton for binutils-2.35+
    RISC-V: Use non-PGD mappings for early DTB access
    riscv: uaccess: fix __put_kernel_nofault()
    riscv: fix pfn_to_virt err in do_page_fault().
    riscv: Set text_offset correctly for M-Mode
    RISC-V: Remove any memblock representing unusable memory area
    risc-v: kernel: ftrace: Fixes improper SPDX comment style

    Linus Torvalds
     

07 Nov, 2020

12 commits

  • Testing shows a problem in that UV5 hubless systems were not being
    recognized. Add them to the list of OEM IDs checked.

    Fixes: 6c7794423a998 ("Add UV5 direct references")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-4-mike.travis@hpe.com

    Mike Travis
     
  • Testing shows that trailing spaces caused problems with the OEM_ID and
    the OEM_TABLE_ID. One being that the OEM_ID would not string compare
    correctly. Another the OEM_ID and OEM_TABLE_ID would be concatenated
    in the printout. Remove any trailing spaces.

    Fixes: 1e61f5a95f191 ("Add and decode Arch Type in UVsystab")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-3-mike.travis@hpe.com

    Mike Travis
     
  • Testing shows a problem in that the OEM_TABLE_ID was missing for
    hubless systems. This is used to determine the APIC type (legacy or
    extended). Add the OEM_TABLE_ID to the early hubless processing.

    Fixes: 1e61f5a95f191 ("Add and decode Arch Type in UVsystab")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-2-mike.travis@hpe.com

    Mike Travis
     
  • Pull arm64 fixes from Will Deacon:
    "Here's the weekly batch of fixes for arm64. Not an awful lot here, but
    there are still a few unresolved issues relating to CPU hotplug, RCU
    and IRQ tracing that I hope to queue fixes for next week.

    Summary:

    - Fix early use of kprobes

    - Fix kernel placement in kexec_file_load()

    - Bump maximum number of NUMA nodes"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: kexec_file: try more regions if loading segments fails
    arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line
    arm64: NUMA: Kconfig: Increase NODES_SHIFT to 4

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta:

    - Unbork HSDKv1 platform (won't boot) due to memory map issue

    - Prevent stack unwinder from infinite looping

    * tag 'arc-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline
    ARC: stack unwinding: avoid indefinite looping

    Linus Torvalds
     
  • Pull s390 fixes from Heiko Carstens:

    - fix reference counting for ap devices

    - fix paes selftest

    - fix pmd_deref()/pud_deref() so they can also handle large pages

    - remove unused vdso file and defines

    - update defconfigs

    - call rcu_cpu_starting() early in smp init code to avoid lockdep
    warnings

    - fix hotplug of PCI function missing bus

    * tag 's390-5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/pci: fix hot-plug of PCI function missing bus
    s390/smp: move rcu_cpu_starting() earlier
    s390/pkey: fix paes selftest failure with paes and pkey static build
    s390: update defconfigs
    s390/vdso: remove unused constants
    s390/vdso: remove empty unused file
    s390/mm: make pmd/pud_deref() large page aware
    s390/ap: fix ap devices reference counting

    Linus Torvalds
     
  • The GKI ramdisk must be mounted rw in order to function with both
    dedicated recovery partition and non-dedicated recovery partition
    systems.

    Bug: 171512004
    Signed-off-by: Steve Muckle
    Change-Id: Ib99aca13d4d78ae455ce14c7146a02f668b7e094

    Steve Muckle
     
  • The AA64ZFR0_EL1 accessors are just the general accessors with
    its visibility function open-coded. It also skips the if-else
    chain in read_id_reg, but there's no reason not to go there.
    Indeed consolidating ID register accessors and removing lines
    of code make it worthwhile.

    Remove the AA64ZFR0_EL1 accessors, replacing them with the
    general accessors for sanitized ID registers.

    No functional change intended.

    Signed-off-by: Andrew Jones
    Signed-off-by: Marc Zyngier
    Link: https://lore.kernel.org/r/20201105091022.15373-5-drjones@redhat.com

    Andrew Jones
     
  • The instruction encodings of ID registers are preallocated. Until an
    encoding is assigned a purpose the register is RAZ. KVM's general ID
    register accessor functions already support both paths, RAZ or not.
    If for each ID register we can determine if it's RAZ or not, then all
    ID registers can build on the general functions. The register visibility
    function allows us to check whether a register should be completely
    hidden or not, extending it to also report when the register should
    be RAZ or not allows us to use it for ID registers as well.

    Check for RAZ visibility in the ID register accessor functions,
    allowing the RAZ case to be handled in a generic way for all system
    registers.

    The new REG_RAZ flag will be used in a later patch. This patch has
    no intended functional change.

    Signed-off-by: Andrew Jones
    Signed-off-by: Marc Zyngier
    Link: https://lore.kernel.org/r/20201105091022.15373-4-drjones@redhat.com

    Andrew Jones
     
  • REG_HIDDEN_GUEST and REG_HIDDEN_USER are always used together.
    Consolidate them into a single REG_HIDDEN flag. We can always
    add another flag later if some register needs to expose itself
    differently to the guest than it does to userspace.

    No functional change intended.

    Signed-off-by: Andrew Jones
    Signed-off-by: Marc Zyngier
    Link: https://lore.kernel.org/r/20201105091022.15373-3-drjones@redhat.com

    Andrew Jones
     
  • ID registers are RAZ until they've been allocated a purpose, but
    that doesn't mean they should be removed from the KVM_GET_REG_LIST
    list. So far we only have one register, SYS_ID_AA64ZFR0_EL1, that
    is hidden from userspace when its function, SVE, is not present.

    Expose SYS_ID_AA64ZFR0_EL1 to userspace as RAZ when SVE is not
    implemented. Removing the userspace visibility checks is enough
    to reexpose it, as it will already return zero to userspace when
    SVE is not present. The register already behaves as RAZ for the
    guest when SVE is not present.

    Fixes: 73433762fcae ("KVM: arm64/sve: System register context switch and access support")
    Reported-by: 张东旭
    Signed-off-by: Andrew Jones
    Signed-off-by: Marc Zyngier
    Cc: stable@vger.kernel.org#v5.2+
    Link: https://lore.kernel.org/r/20201105091022.15373-2-drjones@redhat.com

    Andrew Jones
     
  • The PUD and PMD are folded into PGD when the following options are
    enabled. In that case, PUD_SHIFT is equal to PMD_SHIFT and we fail
    to build with the indicated errors:

    CONFIG_ARM64_VA_BITS_42=y
    CONFIG_ARM64_PAGE_SHIFT=16
    CONFIG_PGTABLE_LEVELS=3

    arch/arm64/kvm/mmu.c: In function ‘user_mem_abort’:
    arch/arm64/kvm/mmu.c:798:2: error: duplicate case value
    case PMD_SHIFT:
    ^~~~
    arch/arm64/kvm/mmu.c:791:2: note: previously used here
    case PUD_SHIFT:
    ^~~~

    This fixes the issue by skipping the check on PUD huge page when PUD
    and PMD are folded into PGD.

    Fixes: 2f40c46021bbb ("KVM: arm64: Use fallback mapping sizes for contiguous huge page sizes")
    Reported-by: Eric Auger
    Signed-off-by: Gavin Shan
    Signed-off-by: Marc Zyngier
    Link: https://lore.kernel.org/r/20201103003009.32955-1-gshan@redhat.com

    Gavin Shan
     

06 Nov, 2020

9 commits

  • …it.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest") into android-mainline

    Steps on the way to 5.10-rc3

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I57f80255bf5d396e92a54807a516cc41cf07be61

    Greg Kroah-Hartman
     
  • We were relying on GNU ld's ability to re-link executable files in order
    to extract our VDSO symbols. This behavior was deemed a bug as of
    binutils-2.35 (specifically the binutils-gdb commit a87e1817a4 ("Have
    the linker fail if any attempt to link in an executable is made."), but
    as that has been backported to at least Debian's binutils-2.34 in may
    manifest in other places.

    The previous version of this was a bit of a mess: we were linking a
    static executable version of the VDSO, containing only a subset of the
    input symbols, which we then linked into the kernel. This worked, but
    certainly wasn't a supported path through the toolchain. Instead this
    new version parses the textual output of nm to produce a symbol table.
    Both rely on near-zero addresses being linkable, but as we rely on weak
    undefined symbols being linkable elsewhere I don't view this as a major
    issue.

    Fixes: e2c0cdfba7f6 ("RISC-V: User-facing API")
    Signed-off-by: Palmer Dabbelt

    Palmer Dabbelt
     
  • Currently, we use PGD mappings for early DTB mapping in early_pgd
    but this breaks Linux kernel on SiFive Unleashed because on SiFive
    Unleashed PMP checks don't work correctly for PGD mappings.

    To fix early DTB mappings on SiFive Unleashed, we use non-PGD
    mappings (i.e. PMD) for early DTB access.

    Fixes: 8f3a2b4a96dc ("RISC-V: Move DT mapping outof fixmap")
    Signed-off-by: Anup Patel
    Reviewed-by: Atish Patra
    Tested-by: Atish Patra
    Signed-off-by: Palmer Dabbelt

    Anup Patel
     
  • The copy_from_kernel_nofault() is broken on riscv because the 'dst' and
    'src' are mistakenly reversed in __put_kernel_nofault() macro.

    copy_to_kernel_nofault:
    ...
    0xffffffe0003159b8 : sd a4,0(a1) # a1 aka 'src'

    Fixes: d464118cdc ("riscv: implement __get_kernel_nofault and __put_user_nofault")
    Signed-off-by: Changbin Du
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Anup Patel
    Tested-by: Anup Patel
    Signed-off-by: Palmer Dabbelt

    Changbin Du
     
  • …rnel.org/pub/scm/linux/kernel/git/acme/linux") into android-mainline

    Steps on the way to 5.10-rc3

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: Ia09418a96a25f6c602af953db5d3258e032c0f30

    Greg Kroah-Hartman
     
  • The argument to pfn_to_virt() should be pfn not the value of CSR_SATP.

    Reviewed-by: Palmer Dabbelt
    Reviewed-by: Anup Patel
    Signed-off-by: liush
    Reviewed-by: Pekka Enberg
    Signed-off-by: Palmer Dabbelt

    Liu Shaohua
     
  • Add a non-NUMA definition for of_drconf_to_nid_single() to topology.h
    so we have one even if powerpc/mm/numa.c is not compiled. On a
    non-NUMA kernel the appropriate node id is always first_online_node.

    Fixes: 72cdd117c449 ("pseries/hotplug-memory: hot-add: skip redundant LMB lookup")
    Reported-by: kernel test robot
    Signed-off-by: Scott Cheloha
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/20201105223040.3612663-1-cheloha@linux.ibm.com

    Scott Cheloha
     
  • M-Mode Linux is loaded at the start of RAM, not 2MB later. Perhaps this
    should be calculated based on PAGE_OFFSET somehow? Even better would be to
    deprecate text_offset and instead introduce something absolute.

    Signed-off-by: Sean Anderson
    Signed-off-by: Palmer Dabbelt

    Sean Anderson
     
  • It's possible that the first region picked for the new kernel will make
    it impossible to fit the other segments in the required 32GB window,
    especially if we have a very large initrd.

    Instead of giving up, we can keep testing other regions for the kernel
    until we find one that works.

    Suggested-by: Ryan O'Leary
    Signed-off-by: Benjamin Gwin
    Link: https://lore.kernel.org/r/20201103201106.2397844-1-bgwin@google.com
    Signed-off-by: Will Deacon

    Benjamin Gwin