18 Mar, 2019

3 commits

  • Pull more Kbuild updates from Masahiro Yamada:

    - add more Build-Depends to Debian source package

    - prefix header search paths with $(srctree)/

    - make modpost show verbose section mismatch warnings

    - avoid hard-coded CROSS_COMPILE for h8300

    - fix regression for Debian make-kpkg command

    - add semantic patch to detect missing put_device()

    - fix some warnings of 'make deb-pkg'

    - optimize NOSTDINC_FLAGS evaluation

    - add warnings about redundant generic-y

    - clean up Makefiles and scripts

    * tag 'kbuild-v5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: remove stale lxdialog/.gitignore
    kbuild: force all architectures except um to include mandatory-y
    kbuild: warn redundant generic-y
    Revert "modsign: Abort modules_install when signing fails"
    kbuild: Make NOSTDINC_FLAGS a simply expanded variable
    kbuild: deb-pkg: avoid implicit effects
    coccinelle: semantic code search for missing put_device()
    kbuild: pkg: grep include/config/auto.conf instead of $KCONFIG_CONFIG
    kbuild: deb-pkg: introduce is_enabled and if_enabled_echo to builddeb
    kbuild: deb-pkg: add CONFIG_ prefix to kernel config options
    kbuild: add workaround for Debian make-kpkg
    kbuild: source include/config/auto.conf instead of ${KCONFIG_CONFIG}
    unicore32: simplify linker script generation for decompressor
    h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux-
    kbuild: move archive command to scripts/Makefile.lib
    modpost: always show verbose warning for section mismatch
    ia64: prefix header search path with $(srctree)/
    libfdt: prefix header search paths with $(srctree)/
    deb-pkg: generate correct build dependencies

    Linus Torvalds
     
  • Pull x86 asm updates from Thomas Gleixner:
    "Two cleanup patches removing dead conditionals and unused code"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/asm: Remove unused __constant_c_x_memset() macro and inlines
    x86/asm: Remove dead __GNUC__ conditionals

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "Three fixes for the fallout from the TSX errata workaround:

    - Prevent memory corruption caused by a unchecked out of bound array
    index.

    - Two trivial fixes to address compiler warnings"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel: Make dev_attr_allow_tsx_force_abort static
    perf/x86: Fixup typo in stub functions
    perf/x86/intel: Fix memory corruption

    Linus Torvalds
     

17 Mar, 2019

7 commits

  • Fixes: 400816f60c54 ("perf/x86/intel: Implement support for TSX Force Abort")
    Signed-off-by: kbuild test robot
    Signed-off-by: Thomas Gleixner
    Cc: "Peter Zijlstra (Intel)"
    Cc: kbuild-all@01.org
    Cc: Borislav Petkov
    Cc: "H. Peter Anvin"
    Cc: Kan Liang
    Cc: Jiri Olsa
    Cc: Andi Kleen
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190313184243.GA10820@lkp-sb-ep06

    kbuild test robot
     
  • Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes
    the common Kbuild.asm file. Factor out the duplicated include directives
    to scripts/Makefile.asm-generic so that no architecture would opt out
    of the mandatory-y mechanism.

    um is not forced to include mandatory-y since it is a very exceptional
    case which does not support UAPI.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The generic-y is redundant under the following condition:

    - arch has its own implementation

    - the same header is added to generated-y

    - the same header is added to mandatory-y

    If a redundant generic-y is found, the warning like follows is displayed:

    scripts/Makefile.asm-generic:20: redundant generic-y found in arch/arm/include/asm/Kbuild: timex.h

    I fixed up arch Kbuild files found by this.

    Suggested-by: Sam Ravnborg
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Pull pidfd system call from Christian Brauner:
    "This introduces the ability to use file descriptors from /proc//
    as stable handles on struct pid. Even if a pid is recycled the handle
    will not change. For a start these fds can be used to send signals to
    the processes they refer to.

    With the ability to use /proc/ fds as stable handles on struct
    pid we can fix a long-standing issue where after a process has exited
    its pid can be reused by another process. If a caller sends a signal
    to a reused pid it will end up signaling the wrong process.

    With this patchset we enable a variety of use cases. One obvious
    example is that we can now safely delegate an important part of
    process management - sending signals - to processes other than the
    parent of a given process by sending file descriptors around via scm
    rights and not fearing that the given process will have been recycled
    in the meantime. It also allows for easy testing whether a given
    process is still alive or not by sending signal 0 to a pidfd which is
    quite handy.

    There has been some interest in this feature e.g. from systems
    management (systemd, glibc) and container managers. I have requested
    and gotten comments from glibc to make sure that this syscall is
    suitable for their needs as well. In the future I expect it to take on
    most other pid-based signal syscalls. But such features are left for
    the future once they are needed.

    This has been sitting in linux-next for quite a while and has not
    caused any issues. It comes with selftests which verify basic
    functionality and also test that a recycled pid cannot be signaled via
    a pidfd.

    Jon has written about a prior version of this patchset. It should
    cover the basic functionality since not a lot has changed since then:

    https://lwn.net/Articles/773459/

    The commit message for the syscall itself is extensively documenting
    the syscall, including it's functionality and extensibility"

    * tag 'pidfd-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
    selftests: add tests for pidfd_send_signal()
    signal: add pidfd_send_signal() syscall

    Linus Torvalds
     
  • Pull device-dax updates from Dan Williams:
    "New device-dax infrastructure to allow persistent memory and other
    "reserved" / performance differentiated memories, to be assigned to
    the core-mm as "System RAM".

    Some users want to use persistent memory as additional volatile
    memory. They are willing to cope with potential performance
    differences, for example between DRAM and 3D Xpoint, and want to use
    typical Linux memory management apis rather than a userspace memory
    allocator layered over an mmap() of a dax file. The administration
    model is to decide how much Persistent Memory (pmem) to use as System
    RAM, create a device-dax-mode namespace of that size, and then assign
    it to the core-mm. The rationale for device-dax is that it is a
    generic memory-mapping driver that can be layered over any "special
    purpose" memory, not just pmem. On subsequent boots udev rules can be
    used to restore the memory assignment.

    One implication of using pmem as RAM is that mlock() no longer keeps
    data off persistent media. For this reason it is recommended to enable
    NVDIMM Security (previously merged for 5.0) to encrypt pmem contents
    at rest. We considered making this recommendation an actively enforced
    requirement, but in the end decided to leave it as a distribution /
    administrator policy to allow for emulation and test environments that
    lack security capable NVDIMMs.

    Summary:

    - Replace the /sys/class/dax device model with /sys/bus/dax, and
    include a compat driver so distributions can opt-in to the new ABI.

    - Allow for an alternative driver for the device-dax address-range

    - Introduce the 'kmem' driver to hotplug / assign a device-dax
    address-range to the core-mm.

    - Arrange for the device-dax target-node to be onlined so that the
    newly added memory range can be uniquely referenced by numa apis"

    NOTE! I'm not entirely happy with the whole "PMEM as RAM" model because
    we currently have special - and very annoying rules in the kernel about
    accessing PMEM only with the "MC safe" accessors, because machine checks
    inside the regular repeat string copy functions can be fatal in some
    (not described) circumstances.

    And apparently the PMEM modules can cause that a lot more than regular
    RAM. The argument is that this happens because PMEM doesn't necessarily
    get scrubbed at boot like RAM does, but that is planned to be added for
    the user space tooling.

    Quoting Dan from another email:
    "The exposure can be reduced in the volatile-RAM case by scanning for
    and clearing errors before it is onlined as RAM. The userspace tooling
    for that can be in place before v5.1-final. There's also runtime
    notifications of errors via acpi_nfit_uc_error_notify() from
    background scrubbers on the DIMM devices. With that mechanism the
    kernel could proactively clear newly discovered poison in the volatile
    case, but that would be additional development more suitable for v5.2.

    I understand the concern, and the need to highlight this issue by
    tapping the brakes on feature development, but I don't see PMEM as RAM
    making the situation worse when the exposure is also there via DAX in
    the PMEM case. Volatile-RAM is arguably a safer use case since it's
    possible to repair pages where the persistent case needs active
    application coordination"

    * tag 'devdax-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    device-dax: "Hotplug" persistent memory for use like normal RAM
    mm/resource: Let walk_system_ram_range() search child resources
    mm/memory-hotplug: Allow memory resources to be children
    mm/resource: Move HMM pr_debug() deeper into resource code
    mm/resource: Return real error codes from walk failures
    device-dax: Add a 'modalias' attribute to DAX 'bus' devices
    device-dax: Add a 'target_node' attribute
    device-dax: Auto-bind device after successful new_id
    acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node
    device-dax: Add /sys/class/dax backwards compatibility
    device-dax: Add support for a dax override driver
    device-dax: Move resource pinning+mapping into the common driver
    device-dax: Introduce bus + driver model
    device-dax: Start defining a dax bus model
    device-dax: Remove multi-resource infrastructure
    device-dax: Kill dax_region base
    device-dax: Kill dax_region ida

    Linus Torvalds
     
  • Pull more SCSI updates from James Bottomley:
    "This is the final round of mostly small fixes and performance
    improvements to our initial submit.

    The main regression fix is the ia64 simscsi build failure which was
    missed in the serial number elimination conversion"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits)
    scsi: ia64: simscsi: use request tag instead of serial_number
    scsi: aacraid: Fix performance issue on logical drives
    scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup()
    scsi: libiscsi: Hold back_lock when calling iscsi_complete_task
    scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink
    scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port
    scsi: hisi_sas: Set PHY linkrate when disconnected
    scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw
    scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO
    scsi: hisi_sas: Change return variable type in phy_up_v3_hw()
    scsi: qla2xxx: check for kstrtol() failure
    scsi: lpfc: fix 32-bit format string warning
    scsi: lpfc: fix unused variable warning
    scsi: target: tcmu: Switch to bitmap_zalloc()
    scsi: libiscsi: fall back to sendmsg for slab pages
    scsi: qla2xxx: avoid printf format warning
    scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset
    scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check
    scsi: ufs: hisi: fix ufs_hba_variant_ops passing
    scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show
    ...

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    "One fix to prevent runtime allocation of 16GB pages when running in a
    VM (as opposed to bare metal), because it doesn't work.

    A small fix to our recently added KCOV support to exempt some more
    code from being instrumented.

    Plus a few minor build fixes, a small dead code removal and a
    defconfig update.

    Thanks to: Alexey Kardashevskiy, Aneesh Kumar K.V, Christophe Leroy,
    Jason Yan, Joel Stanley, Mahesh Salgaonkar, Mathieu Malaterre"

    * tag 'powerpc-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/64s: Include header file to fix a warning
    powerpc/powernv: Fix compile without CONFIG_TRACEPOINTS
    powerpc/mm: Disable kcov for SLB routines
    powerpc: remove dead code in head_fsl_booke.S
    powerpc/configs: Sync skiroot defconfig
    powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration

    Linus Torvalds
     

16 Mar, 2019

8 commits

  • Pull UML updates from Richard Weinberger:
    "Bugfix for the UML block device driver"

    * 'for-linus-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Fix for a possible OOPS in ubd initialization
    um: Remove duplicated include from vector_user.c

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "ARM:
    - some cleanups
    - direct physical timer assignment
    - cache sanitization for 32-bit guests

    s390:
    - interrupt cleanup
    - introduction of the Guest Information Block
    - preparation for processor subfunctions in cpu models

    PPC:
    - bug fixes and improvements, especially related to machine checks
    and protection keys

    x86:
    - many, many cleanups, including removing a bunch of MMU code for
    unnecessary optimizations
    - AVIC fixes

    Generic:
    - memcg accounting"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (147 commits)
    kvm: vmx: fix formatting of a comment
    KVM: doc: Document the life cycle of a VM and its resources
    MAINTAINERS: Add KVM selftests to existing KVM entry
    Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()"
    KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char()
    KVM: PPC: Fix compilation when KVM is not enabled
    KVM: Minor cleanups for kvm_main.c
    KVM: s390: add debug logging for cpu model subfunctions
    KVM: s390: implement subfunction processor calls
    arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2
    KVM: arm/arm64: Remove unused timer variable
    KVM: PPC: Book3S: Improve KVM reference counting
    KVM: PPC: Book3S HV: Fix build failure without IOMMU support
    Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()"
    x86: kvmguest: use TSC clocksource if invariant TSC is exposed
    KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start
    KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter
    KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns
    KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes()
    KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children
    ...

    Linus Torvalds
     
  • Pull ARM updates from Russell King:

    - An improvement from Ard Biesheuvel, who noted that the identity map
    setup was taking a long time due to flush_cache_louis().

    - Update a comment about dma_ops from Wolfram Sang.

    - Remove use of "-p" with ld, where this flag has been a no-op since
    2004.

    - Remove the printing of the virtual memory layout, which is no longer
    useful since we hide pointers.

    - Correct SCU help text.

    - Remove legacy TWD registration method.

    - Add pgprot_device() implementation for mapping PCI sysfs resource
    files.

    - Initialise PFN limits earlier for kmemleak.

    - Fix argument count to match macro definition (affects clang builds)

    - Use unified assembler language almost everywhere for clang, and other
    clang improvements (from Stefan Agner, Nathan Chancellor).

    - Support security extension for noMMU and other noMMU cleanups (from
    Vladimir Murzin).

    - Remove unnecessary SMP bringup code (which was incorrectly copy'n'
    pasted from the ARM platform implementations) and remove it from the
    arch code to discourge further copys of it appearing.

    - Add Cortex A9 erratum preventing kexec working on some SoCs.

    - AMBA bus identification updates from Mike Leach.

    - More use of raw spinlocks to avoid -RT kernel issues (from Yang Shi
    and Sebastian Andrzej Siewior).

    - MCPM hyp/svc mode mismatch fixes from Marek Szyprowski.

    * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (32 commits)
    ARM: 8849/1: NOMMU: Fix encodings for PMSAv8's PRBAR4/PRLAR4
    ARM: 8848/1: virt: Align GIC version check with arm64 counterpart
    ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
    ARM: 8845/1: use unified assembler in c files
    ARM: 8844/1: use unified assembler in assembly files
    ARM: 8843/1: use unified assembler in headers
    ARM: 8841/1: use unified assembler in macros
    ARM: 8840/1: use a raw_spinlock_t in unwind
    ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t
    ARM: 8837/1: coresight: etmv4: Update ID register table to add UCI support
    ARM: 8836/1: drivers: amba: Update component matching to use the CoreSight UCI values.
    ARM: 8838/1: drivers: amba: Updates to component identification for driver matching.
    ARM: 8833/1: Ensure that NEON code always compiles with Clang
    ARM: avoid Cortex-A9 livelock on tight dmb loops
    ARM: smp: remove arch-provided "pen_release"
    ARM: actions: remove boot_lock and pen_release
    ARM: oxnas: remove CPU hotplug implementation
    ARM: qcom: remove unnecessary boot_lock
    ARM: 8832/1: NOMMU: Limit visibility for CONFIG_FLASH_{MEM_BASE,SIZE}
    ARM: 8831/1: NOMMU: pmsa-v8: remove unneeded semicolon
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Bartlomiej Zolnierkiewicz:
    "Just a couple of small fixes and cleanups:

    - fix memory access if logo is bigger than the screen (Manfred
    Schlaegl)

    - silence fbcon logo on 'quiet' boots (Prarit Bhargava)

    - use kvmalloc() for scrollback buffer in fbcon (Konstantin Khorenko)

    - misc fixes (Colin Ian King, YueHaibing, Matteo Croce, Mathieu
    Malaterre, Anders Roxell, Arnd Bergmann)

    - misc cleanups (Rob Herring, Lubomir Rintel, Greg Kroah-Hartman,
    Jani Nikula, Michal Vokáč)"

    * tag 'fbdev-v5.1' of git://github.com/bzolnier/linux:
    fbdev: mbx: fix a misspelled variable name
    fbdev: omap2: fix warnings in dss core
    video: fbdev: Fix potential NULL pointer dereference
    fbcon: Silence fbcon logo on 'quiet' boots
    printk: Export console_printk
    ARM: dts: imx28-cfa10036: Fix the reset gpio signal polarity
    video: ssd1307fb: Do not hard code active-low reset sequence
    dt-bindings: display: ssd1307fb: Remove reset-active-low from examples
    fbdev: fbmem: fix memory access if logo is bigger than the screen
    video/fbdev: refactor video= cmdline parsing
    fbdev: mbx: fix up debugfs file creation
    fbdev: omap2: no need to check return value of debugfs_create functions
    video: fbdev: geode: remove ifdef OLPC noise
    video: offb: annotate implicit fall throughs
    omapfb: fix typo
    fbdev: Use of_node_name_eq for node name comparisons
    fbcon: use kvmalloc() for scrollback buffer
    fbdev: chipsfb: remove set but not used variable 'size'
    fbdev/via: fix spelling mistake "Expandsion" -> "Expansion"

    Linus Torvalds
     
  • Eliminate a gratuitous conflict with 5.0.

    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • …paulus/powerpc into HEAD

    Third PPC KVM update for 5.1

    - Tell userspace about whether a particular hardware workaround for
    one of the Spectre vulnerabilities is available, so that userspace
    can inform the guest.

    Paolo Bonzini
     
  • This reverts commit 71883a62fcd6c70639fa12cda733378b4d997409.

    The above commit contains an optimization to kvm_zap_gfn_range which
    uses gfn-limited TLB flushes, if enabled. If using these limited flushes,
    kvm_zap_gfn_range passes lock_flush_tlb=false to slot_handle_level_range
    which creates a race when the function unlocks to call cond_resched.
    See an example of this race below:

    CPU 0 CPU 1 CPU 3
    // zap_direct_gfn_range
    mmu_lock()
    // *ptep == pte_1
    *ptep = 0
    if (lock_flush_tlb)
    flush_tlbs()
    mmu_unlock()
    // In invalidate range
    // MMU notifier
    mmu_lock()
    if (pte != 0)
    *ptep = 0
    flush = true
    if (flush)
    flush_remote_tlbs()
    mmu_unlock()
    return
    // Host MM reallocates
    // page previously
    // backing guest memory.
    // Guest accesses
    // invalid page
    // through pte_1
    // in its TLB!!

    Tested: Ran all kvm-unit-tests on a Intel Haswell machine with and
    without this patch. The patch introduced no new failures.

    Signed-off-by: Ben Gardon
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini

    Ben Gardon
     
  • Use the request tag for logging instead of the scsi command serial
    number.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen
    [jejb: fix commit oneliner]
    Signed-off-by: James Bottomley

    Hannes Reinecke
     

15 Mar, 2019

5 commits

  • Russell King
     
  • Guenter reported a build warning for CONFIG_CPU_SUP_INTEL=n:

    > With allmodconfig-CONFIG_CPU_SUP_INTEL, this patch results in:
    >
    > In file included from arch/x86/events/amd/core.c:8:0:
    > arch/x86/events/amd/../perf_event.h:1036:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration
    > static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu)

    While harmless (an unsed pointer is an unused pointer, no matter the type)
    it needs fixing.

    Reported-by: Guenter Roeck
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Fixes: d01b1f96a82e ("perf/x86/intel: Make cpuc allocations consistent")
    Link: http://lkml.kernel.org/r/20190315081410.GR5996@hirez.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Through:

    validate_event()
    x86_pmu.get_event_constraints(.idx=-1)
    tfa_get_event_constraints()
    dyn_constraint()

    cpuc->constraint_list[-1] is used, which is an obvious out-of-bound access.

    In this case, simply skip the TFA constraint code, there is no event
    constraint with just PMC3, therefore the code will never result in the
    empty set.

    Fixes: 400816f60c54 ("perf/x86/intel: Implement support for TSX Force Abort")
    Reported-by: Tony Jones
    Reported-by: "DSouza, Nelson"
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Thomas Gleixner
    Tested-by: Tony Jones
    Tested-by: "DSouza, Nelson"
    Cc: eranian@google.com
    Cc: jolsa@redhat.com
    Cc: stable@kernel.org
    Link: https://lkml.kernel.org/r/20190314130705.441549378@infradead.org

    Peter Zijlstra
     
  • Pull Microblaze update from Michal Simek:
    "Simplify debugfs initialization"

    * tag 'microblaze-v5.1-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: no need to check return value of debugfs_create functions

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "More fixes in the queue:

    1) Netfilter nat can erroneously register the device notifier twice,
    fix from Florian Westphal.

    2) Use after free in nf_tables, from Pablo Neira Ayuso.

    3) Parallel update of steering rule fix in mlx5 river, from Eli
    Britstein.

    4) RX processing panic in lan743x, fix from Bryan Whitehead.

    5) Use before initialization of TCP_SKB_CB, fix from Christoph Paasch.

    6) Fix locking in SRIOV mode of mlx4 driver, from Jack Morgenstein.

    7) Fix TX stalls in lan743x due to mishandling of interrupt ACKing
    modes, from Bryan Whitehead.

    8) Fix infoleak in l2tp_ip6_recvmsg(), from Eric Dumazet"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
    pptp: dst_release sk_dst_cache in pptp_sock_destruct
    MAINTAINERS: GENET & SYSTEMPORT: Add internal Broadcom list
    l2tp: fix infoleak in l2tp_ip6_recvmsg()
    net/tls: Inform user space about send buffer availability
    net_sched: return correct value for *notify* functions
    lan743x: Fix TX Stall Issue
    net/mlx4_core: Fix qp mtt size calculation
    net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling
    net/mlx4_core: Fix reset flow when in command polling mode
    mlxsw: minimal: Initialize base_mac
    mlxsw: core: Prevent duplication during QSFP module initialization
    net: dwmac-sun8i: fix a missing check of of_get_phy_mode
    net: sh_eth: fix a missing check of of_get_phy_mode
    net: 8390: fix potential NULL pointer dereferences
    net: fujitsu: fix a potential NULL pointer dereference
    net: qlogic: fix a potential NULL pointer dereference
    isdn: hfcpci: fix potential NULL pointer dereference
    Documentation: devicetree: add a new optional property for port mac address
    net: rocker: fix a potential NULL pointer dereference
    net: qlge: fix a potential NULL pointer dereference
    ...

    Linus Torvalds
     

14 Mar, 2019

5 commits

  • Pull clk subsystem updates from Stephen Boyd:
    "We have a fairly balanced mix of clk driver updates and clk framework
    updates this time around. It's the usual pile of new drivers for new
    hardware out there and the normal small fixes and updates, but then we
    have some core framework changes too.

    In the core framework, we introduce support for a clk_get_optional()
    API to get clks that may not always be populated and a way to devm
    manage clkdev lookups registered by provider drivers. We also do some
    refactoring to simplify the interface between clkdev and the common
    clk framework so we can reuse the DT parsing and clk_get() path in
    provider drivers in the future. This work will continue in the next
    few cycles while we convert how providers specify clk parents.

    On the driver side, the biggest part of the dirstat is the Amlogic clk
    driver that got support for the G12A SoC. It dominates with almost
    half the overall diff, while the second largest part of the diff is in
    the i.MX clk driver that gained support for imx8mm SoCs. After that,
    we have the Actions Semiconductor and Qualcomm drivers rounding out
    the big part of the dirstat because they both got new hardware support
    for SoCs. The rest is just various updates and non-critical fixes for
    existing drivers.

    Core:
    - Convert a few clk bindings to JSON schema format
    - Add a {devm_}clk_get_optional() API
    - Add devm_clk_hw_register_clkdev() API to manage clkdev lookups
    - Start rewriting clk parent registration and supporting device links
    by moving around code that supports clk_get() and DT parsing of the
    'clocks' property

    New Drivers:
    - Add Qualcomm MSM8998 RPM managed clks
    - IPA clk support on Qualcomm RPMh clk controllers
    - Actions Semi S500 SoC clk support
    - Support for fixed rate clks populated from an MMIO register
    - Add RPC (QSPI/HyperFLASH) clocks on Renesas R-Car V3H
    - Add TMU (timer) clocks on Renesas RZ/G2E
    - Add Amlogic G12A Always-On Clock Controller
    - Add 32k clock generation for Amlogic AXG
    - Add support for the Mali GPU clocks on Amlogic Meson8
    - Add Amlogic G12A EE clock controller driver
    - Add missing CANFD clocks on Renesas RZ/G2M and RZ/G2E
    - Add i.MX8MM SoC clk driver support

    Removed Drivers:
    - Remove clps711x driver as the board support is gone

    Updates:
    - 3rd ECO fix for Mediatek MT2712 SoCs
    - Updates for Qualcomm MSM8998 GCC clks
    - Random static analysis fixes for clk drivers
    - Support for sleeping gpios in the clk-gpio type
    - Minor fixes for STM32MP1 clk driver (parents, critical flag, etc.)
    - Split LCDC into two clks on the Marvell MMP2 SoC
    - Various DT of_node refcount fixes
    - Get rid of CLK_IS_BASIC from TI code (yay!)
    - TI Autoidle clk support
    - Fix Amlogic Meson8 APB clock ID name
    - Claim input clocks through DT for Amlogic AXG and GXBB
    - Correct the DU (display unit) parent clock on Renesas RZ/G2E
    - Exynos5433 IMEM CMU crypto clk support (SlimSS)
    - Fix for the PLL-MIPI on the Allwinner A23
    - Fix Rockchip rk3328 PLL rate calculation
    - Add SET_RATE_PARENT flag on display clk of Rockhip rk3066
    - i.MX SCU clk driver clk_set_parent() and cpufreq support"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (150 commits)
    dt-bindings: clock: imx8mq: Fix numbering overlaps and gaps
    clk: ti: clkctrl: Fix clkdm_name regression for TI_CLK_CLKCTRL_COMPAT
    clk: fixup default index for of_clk_get_by_name()
    clk: Move of_clk_*() APIs into clk.c from clkdev.c
    clk: Inform the core about consumer devices
    clk: Introduce of_clk_get_hw_from_clkspec()
    clk: core: clarify the check for runtime PM
    clk: Combine __clk_get() and __clk_create_clk()
    clk: imx8mq: add GPIO clocks to clock tree
    clk: mediatek: correct cpu clock name for MT8173 SoC
    clk: imx: Refactor entire sccg pll clk
    clk: imx: scu: add cpu frequency scaling support
    clk: mediatek: Mark bus and DRAM related clocks as critical
    clk: mediatek: Add flags to mtk_gate
    clk: mediatek: Add MUX_FLAGS macro
    clk: qcom: gcc-sdm845: Define parent of PCIe PIPE clocks
    clk: ingenic: Remove set but not used variable 'enable'
    clk: at91: programmable: remove unneeded register read
    clk: mediatek: using CLK_MUX_ROUND_CLOSEST for the clock of dpi1_sel
    clk: mediatek: add MUX_GATE_FLAGS_2
    ...

    Linus Torvalds
     
  • When I was searching for unneeded $(KCONFIG_CONFIG) usages, I noticed
    this strange build dependency.

    It can use $(call if_changed,...) in case ZTEXTADDR and ZBSSADDR are
    changed, but even a simpler way is to use the pattern rule in
    scripts/Makefile.build. This is what arch/arm/boot/compressed/Makefile
    does.

    I did only build test. I confirmed equivalent vmlinux.lds was generated.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • It believe it is a bad idea to hardcode a specific compiler prefix
    that may or may not be installed on a user's system. It is annoying
    when testing features that should not require compilers at all.

    For example, mrproper, headers_install, etc. should work without
    any compiler.

    They look like follows on my machine.

    $ make ARCH=h8300 mrproper
    ./scripts/gcc-version.sh: line 26: h8300-unknown-linux-gcc: command not found
    ./scripts/gcc-version.sh: line 27: h8300-unknown-linux-gcc: command not found
    make: h8300-unknown-linux-gcc: Command not found
    make: h8300-unknown-linux-gcc: Command not found
    [ a bunch of the same error messages continue ]

    $ make ARCH=h8300 headers_install
    ./scripts/gcc-version.sh: line 26: h8300-unknown-linux-gcc: command not found
    ./scripts/gcc-version.sh: line 27: h8300-unknown-linux-gcc: command not found
    make: h8300-unknown-linux-gcc: Command not found
    HOSTCC scripts/basic/fixdep
    make: h8300-unknown-linux-gcc: Command not found
    WRAP arch/h8300/include/generated/uapi/asm/kvm_para.h
    [ snip ]

    The solution is to delete this line, or to use cc-cross-prefix like
    some architectures do. I chose the latter as a moderate fixup.

    I added an alternative 'h8300-linux-' because it is available at:

    https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • scripts/Makefile.build and arch/s390/boot/Makefile use the same
    command (thin archiving with symbol table creation).

    Avoid the code duplication, and move it to scripts/Makefile.lib.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Currently, the Kbuild core manipulates header search paths in a crazy
    way [1].

    To fix this mess, I want all Makefiles to add explicit $(srctree)/ to
    the search paths in the srctree. Some Makefiles are already written in
    that way, but not all. The goal of this work is to make the notation
    consistent, and finally get rid of the gross hacks.

    Having whitespaces after -I does not matter since commit 48f6e3cf5bc6
    ("kbuild: do not drop -I without parameter").

    I removed some header search paths because I was able to build ia64
    without them.

    [1]: https://patchwork.kernel.org/patch/9632347/

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

13 Mar, 2019

12 commits

  • Make sure to include to provide the following prototype:
    hv_nmi_check_nonrecoverable.

    Remove the following warning treated as error (W=1):

    arch/powerpc/kernel/traps.c:393:6: error: no previous prototype for 'hv_nmi_check_nonrecoverable'

    Fixes: ccd477028a20 ("powerpc/64s: Fix HV NMI vs HV interrupt recoverability test")
    Signed-off-by: Mathieu Malaterre
    Reviewed-by: Christophe Leroy
    Signed-off-by: Michael Ellerman

    Mathieu Malaterre
     
  • The functions returns s64 but the return statement is missing.
    This adds the missing return statement.

    Fixes: 75d9fc7fd94e ("powerpc/powernv: move OPAL call wrapper tracing and interrupt handling to C")
    Signed-off-by: Alexey Kardashevskiy
    Signed-off-by: Michael Ellerman

    Alexey Kardashevskiy
     
  • Pull vfs mount infrastructure updates from Al Viro:
    "The rest of core infrastructure; no new syscalls in that pile, but the
    old parts are switched to new infrastructure. At that point
    conversions of individual filesystems can happen independently; some
    are done here (afs, cgroup, procfs, etc.), there's also a large series
    outside of that pile dealing with NFS (quite a bit of option-parsing
    stuff is getting used there - it's one of the most convoluted
    filesystems in terms of mount-related logics), but NFS bits are the
    next cycle fodder.

    It got seriously simplified since the last cycle; documentation is
    probably the weakest bit at the moment - I considered dropping the
    commit introducing Documentation/filesystems/mount_api.txt (cutting
    the size increase by quarter ;-), but decided that it would be better
    to fix it up after -rc1 instead.

    That pile allows to do followup work in independent branches, which
    should make life much easier for the next cycle. fs/super.c size
    increase is unpleasant; there's a followup series that allows to
    shrink it considerably, but I decided to leave that until the next
    cycle"

    * 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (41 commits)
    afs: Use fs_context to pass parameters over automount
    afs: Add fs_context support
    vfs: Add some logging to the core users of the fs_context log
    vfs: Implement logging through fs_context
    vfs: Provide documentation for new mount API
    vfs: Remove kern_mount_data()
    hugetlbfs: Convert to fs_context
    cpuset: Use fs_context
    kernfs, sysfs, cgroup, intel_rdt: Support fs_context
    cgroup: store a reference to cgroup_ns into cgroup_fs_context
    cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper
    cgroup_do_mount(): massage calling conventions
    cgroup: stash cgroup_root reference into cgroup_fs_context
    cgroup2: switch to option-by-option parsing
    cgroup1: switch to option-by-option parsing
    cgroup: take options parsing into ->parse_monolithic()
    cgroup: fold cgroup1_mount() into cgroup1_get_tree()
    cgroup: start switching to fs_context
    ipc: Convert mqueue fs to fs_context
    proc: Add fs_context support to procfs
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:

    - a few misc things

    - the rest of MM

    - remove flex_arrays, replace with new simple radix-tree implementation

    * emailed patches from Andrew Morton : (38 commits)
    Drop flex_arrays
    sctp: convert to genradix
    proc: commit to genradix
    generic radix trees
    selinux: convert to kvmalloc
    md: convert to kvmalloc
    openvswitch: convert to kvmalloc
    of: fix kmemleak crash caused by imbalance in early memory reservation
    mm: memblock: update comments and kernel-doc
    memblock: split checks whether a region should be skipped to a helper function
    memblock: remove memblock_{set,clear}_region_flags
    memblock: drop memblock_alloc_*_nopanic() variants
    memblock: memblock_alloc_try_nid: don't panic
    treewide: add checks for the return value of memblock_alloc*()
    swiotlb: add checks for the return value of memblock_alloc*()
    init/main: add checks for the return value of memblock_alloc*()
    mm/percpu: add checks for the return value of memblock_alloc*()
    sparc: add checks for the return value of memblock_alloc*()
    ia64: add checks for the return value of memblock_alloc*()
    arch: don't memset(0) memory returned by memblock_alloc()
    ...

    Linus Torvalds
     
  • As all the memblock allocation functions return NULL in case of error
    rather than panic(), the duplicates with _nopanic suffix can be removed.

    Link: http://lkml.kernel.org/r/1548057848-15136-22-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Greg Kroah-Hartman
    Reviewed-by: Petr Mladek [printk]
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Add check for the return value of memblock_alloc*() functions and call
    panic() in case of error. The panic message repeats the one used by
    panicing memblock allocators with adjustment of parameters to include
    only relevant ones.

    The replacement was mostly automated with semantic patches like the one
    below with manual massaging of format strings.

    @@
    expression ptr, size, align;
    @@
    ptr = memblock_alloc(size, align);
    + if (!ptr)
    + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, size, align);

    [anders.roxell@linaro.org: use '%pa' with 'phys_addr_t' type]
    Link: http://lkml.kernel.org/r/20190131161046.21886-1-anders.roxell@linaro.org
    [rppt@linux.ibm.com: fix format strings for panics after memblock_alloc]
    Link: http://lkml.kernel.org/r/1548950940-15145-1-git-send-email-rppt@linux.ibm.com
    [rppt@linux.ibm.com: don't panic if the allocation in sparse_buffer_init fails]
    Link: http://lkml.kernel.org/r/20190131074018.GD28876@rapoport-lnx
    [akpm@linux-foundation.org: fix xtensa printk warning]
    Link: http://lkml.kernel.org/r/1548057848-15136-20-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Anders Roxell
    Reviewed-by: Guo Ren [c-sky]
    Acked-by: Paul Burton [MIPS]
    Acked-by: Heiko Carstens [s390]
    Reviewed-by: Juergen Gross [Xen]
    Reviewed-by: Geert Uytterhoeven [m68k]
    Acked-by: Max Filippov [xtensa]
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Add panic() calls if memblock_alloc*() returns NULL.

    Most of the changes are simply addition of

    if(!ptr)
    panic();

    statements after the calls to memblock_alloc*() variants.

    Exceptions are pcpu_populate_pte() and kernel_map_range() that were
    slightly refactored to accommodate the change.

    Link: http://lkml.kernel.org/r/1548057848-15136-16-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: David S. Miller
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Add panic() calls if memblock_alloc*() returns NULL.

    Most of the changes are simply addition of

    if(!ptr)
    panic();

    statements after the calls to memblock_alloc*() variants.

    Exceptions are create_mem_map_page_table() and ia64_log_init() that were
    slightly refactored to accommodate the change.

    Link: http://lkml.kernel.org/r/1548057848-15136-15-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • memblock_alloc() already clears the allocated memory, no point in doing
    it twice.

    Link: http://lkml.kernel.org/r/1548057848-15136-14-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Geert Uytterhoeven [m68k]
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • The last parameter of memblock_alloc_from() is the lower limit for the
    memory allocation. When it is 0, the call is equivalent to
    memblock_alloc().

    Link: http://lkml.kernel.org/r/1548057848-15136-13-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Paul Burton # MIPS part
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • The memblock_alloc_base() function tries to allocate a memory up to the
    limit specified by its max_addr parameter and panics if the allocation
    fails. Replace its usage with memblock_phys_alloc_range() and make the
    callers check the return value and panic in case of error.

    Link: http://lkml.kernel.org/r/1548057848-15136-10-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Michael Ellerman [powerpc]
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • The __memblock_alloc_base() function tries to allocate a memory up to
    the limit specified by its max_addr parameter. Depending on the value
    of this parameter, the __memblock_alloc_base() can is replaced with the
    appropriate memblock_phys_alloc*() variant.

    Link: http://lkml.kernel.org/r/1548057848-15136-9-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Rob Herring
    Cc: Catalin Marinas
    Cc: Christophe Leroy
    Cc: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Dennis Zhou
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren [c-sky]
    Cc: Heiko Carstens
    Cc: Juergen Gross [Xen]
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Paul Burton
    Cc: Petr Mladek
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Rob Herring
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport