31 Oct, 2016

2 commits

  • Commit d42a09802174 (driver core: skip removal test for non-removable
    drivers) introduced a smatch warning:

    drivers/base/dd.c:386 really_probe()
    warn: variable dereferenced before check 'dev->bus' (see line 373)

    Fix the warning by removing the dev->bus NULL check. dev->bus will never
    be NULL, so the check was unnecessary.

    Reported-by: Dan Carpenter
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Rob Herring
     
  • Some drivers do not support removal/unbinding. These drivers should have
    drv->suppress_bind_attrs set to true, so use that to skip the removal
    test.

    This doesn't fix anything reported so far, but should prevent some other
    cases. Some drivers will need fixes to set suppress_bind_attrs to avoid
    this test.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=177021
    Fixes: bea5b158ff0d ("driver core: add test of driver remove calls during probe")
    Reported-by: Laszlo Ersek
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Rob Herring
     

30 Oct, 2016

13 commits

  • Linus Torvalds
     
  • Pull x86 bugfix from Thomas Gleixner:
    "A single bugfix for the recent changes related to registering the boot
    cpu when this has not happened before prefill_possible_map().

    The main problem with this change got fixed already, but we missed the
    case where the local APIC is not yet mapped, when prefill_possible_map()
    is invoked, so the registration of the boot cpu which has the APIC bit
    set in CPUID will explode.

    I should have seen that issue earlier, but all I can do now is feeling
    embarassed"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/smpboot: Init apic mapping before usage

    Linus Torvalds
     
  • Pull ubi/ubifs fixes from Richard Weinberger:
    "This contains fixes for issues in both UBI and UBIFS:

    - A regression wrt overlayfs, introduced in -rc2.
    - An UBI issue, found by Dan Carpenter's static checker"

    * tag 'upstream-4.9-rc3' of git://git.infradead.org/linux-ubifs:
    ubifs: Fix regression in ubifs_readdir()
    ubi: fastmap: Fix add_vol() return value test in ubi_attach_fastmap()

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "We haven't seen a whole lot of fixes for the first two weeks since the
    merge window, but here is the batch that we have at the moment.

    Nothing sticks out as particularly bad or scary, it's mostly a handful
    of smaller fixes to several platforms. The Uniphier reset controller
    changes could probably have been delayed to 4.10, but they're not
    scary and just plumbing up driver changes that went in during the
    merge window.

    We're also adding another maintainer to Marvell Berlin platforms, to
    help out when Sebastian is too busy. Yay teamwork!"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: imx: mach-imx6q: Fix the PHY ID mask for AR8031
    ARM: dts: vf610: fix IRQ flag of global timer
    ARM: imx: gpc: Fix the imx_gpc_genpd_init() error path
    ARM: imx: gpc: Initialize all power domains
    arm64: dts: Updated NAND DT properties for NS2 SVK
    arm64: dts: uniphier: change MIO node to SD control node
    ARM: dts: uniphier: change MIO node to SD control node
    reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs
    arm64: uniphier: select ARCH_HAS_RESET_CONTROLLER
    ARM: uniphier: select ARCH_HAS_RESET_CONTROLLER
    arm64: dts: Add timer erratum property for LS2080A and LS1043A
    arm64: dts: rockchip: remove the abuse of keep-power-in-suspend
    ARM: multi_v7_defconfig: Enable Intel e1000e driver
    MAINTAINERS: add myself as Marvell berlin SoC maintainer
    bus: qcom-ebi2: depend on ARCH_QCOM or COMPILE_TEST
    ARM: dts: fix the SD card on the Snowball
    arm64: dts: rockchip: remove always-on and boot-on from vcc_sd
    arm64: dts: marvell: fix clocksource for CP110 master SPI0
    ARM: mvebu: Select corediv clk for all mvebu v7 SoC

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are a few small char/misc driver fixes for reported issues.

    The "biggest" are two binder fixes for reported issues that have been
    shipping in Android phones for a while now, the others are various
    fixes for reported problems.

    And there's a MAINTAINERS update for good measure.

    All have been in linux-next with no reported issues"

    * tag 'char-misc-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    MAINTAINERS: Add entry for genwqe driver
    VMCI: Doorbell create and destroy fixes
    GenWQE: Fix bad page access during abort of resource allocation
    vme: vme_get_size potentially returning incorrect value on failure
    extcon: qcom-spmi-misc: Sync the extcon state on interrupt
    hv: do not lose pending heartbeat vmbus packets
    mei: txe: don't clean an unprocessed interrupt cause.
    ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct
    ANDROID: binder: Add strong ref checks

    Linus Torvalds
     
  • …nel/git/mmind/linux-rockchip into fixes

    Correct regulator handling on Rockchip arm64 boards to make
    bind/unbind calls work correctly and remove a sdio-only
    property from non-sdio mmc hosts, that accidentially was
    added there.

    * tag 'v4.9-rockchip-dts64-fixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
    arm64: dts: rockchip: remove the abuse of keep-power-in-suspend
    arm64: dts: rockchip: remove always-on and boot-on from vcc_sd

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • This pull request contains a single fix for Broadcom ARM64-based SoCs:

    - Ray adds the required bus width and OOB sector size properties to the
    Northstar 2 SVK reference board in order for the NAND controller to work
    properly

    * tag 'arm-soc/for-4.9/devicetree-arm64-fixes' of http://github.com/Broadcom/stblinux:
    arm64: dts: Updated NAND DT properties for NS2 SVK

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • The i.MX fixes for 4.9:
    - A couple of patches from Fabio to fix the GPC power domain regression
    which is caused by PM Domain core change 0159ec670763dd
    ("PM / Domains: Verify the PM domain is present when adding a
    provider"), and a related kernel crash seen with multi_v7_defconfig
    build.
    - Correct the PHY ID mask for AR8031 to match phy driver code.
    - Apply new added timer erratum A008585 for LS1043A and LS2080A SoC.
    - Correct vf610 global timer IRQ flag to avoid warning from gic driver
    after commit 992345a58e0c ("irqchip/gic: WARN if setting the
    interrupt type for a PPI fails").

    * tag 'imx-fixes-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: imx: mach-imx6q: Fix the PHY ID mask for AR8031
    ARM: dts: vf610: fix IRQ flag of global timer
    ARM: imx: gpc: Fix the imx_gpc_genpd_init() error path
    ARM: imx: gpc: Initialize all power domains
    arm64: dts: Add timer erratum property for LS2080A and LS1043A

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • …/masahiroy/linux-uniphier into fixes

    UniPhier ARM SoC fixes for v4.9

    - Add "select ARCH_HAS_RESET_CONTROLLER" in Kconfig
    - Rename wrongly-named mioctrl to sdctrl

    * tag 'uniphier-fixes-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
    arm64: dts: uniphier: change MIO node to SD control node
    ARM: dts: uniphier: change MIO node to SD control node
    reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs
    arm64: uniphier: select ARCH_HAS_RESET_CONTROLLER
    ARM: uniphier: select ARCH_HAS_RESET_CONTROLLER

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Pull driver core fixes from Greg KH:
    "Here are two small driver core / kernfs fixes for 4.9-rc3.

    One makes the Kconfig entry for DEBUG_TEST_DRIVER_REMOVE a bit more
    explicit that this is a crazy thing to enable for a distro kernel
    (thanks for trying Fedora!), the other resolves an issue with vim
    opening kernfs files (sysfs, configfs, etc.)

    Both have been in linux-next with no reported issues"

    * tag 'driver-core-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    driver core: Make Kconfig text for DEBUG_TEST_DRIVER_REMOVE stronger
    kernfs: Add noop_fsync to supported kernfs_file_fops

    Linus Torvalds
     
  • Pull staging and IIO driver fixes from Greg KH:
    "Here are some small staging and iio driver fixes for reported issues
    for 4.9-rc3. Nothing major, the "largest" being a lustre fix for a
    sysfs file that was obviously wrong, and had never been tested, so it
    was moved to debugfs as that is where it belongs. The others are small
    bug fixes for reported issues with various staging or iio drivers.

    All have been in linux-next for a while with no reported issues"

    * tag 'staging-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    greybus: fix a leak on error in gb_module_create()
    greybus: es2: fix error return code in ap_probe()
    greybus: arche-platform: Add missing of_node_put() in arche_platform_change_state()
    staging: android: ion: Fix error handling in ion_query_heaps()
    iio: accel: sca3000_core: avoid potentially uninitialized variable
    iio:chemical:atlas-ph-sensor: Fix use of 32 bit int to hold 16 bit big endian value
    staging/lustre/llite: Move unstable_stats from sysfs to debugfs
    Staging: wilc1000: Fix kernel Oops on opening the device
    staging: android/ion: testing the wrong variable
    Staging: greybus: uart: Use gbphy_dev->dev instead of bundle->dev
    Staging: greybus: gpio: Use gbphy_dev->dev instead of bundle->dev
    iio: adc: ti-adc081c: Select IIO_TRIGGERED_BUFFER to prevent build errors
    iio: maxim_thermocouple: Align 16 bit big endian value of raw reads

    Linus Torvalds
     
  • Pull tty/serial driver fixes from Greg KH:
    "Here are a number of small tty and serial driver fixes for reported
    issues for 4.9-rc3. Nothing major, but they do resolve a bunch of
    problems with the tty core changes that are in 4.9-rc1, and finally
    the atmel serial driver is back working properly.

    All have been in linux-next with no reported issues"

    * tag 'tty-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty: serial_core: fix NULL struct tty pointer access in uart_write_wakeup
    tty: serial_core: Fix serial console crash on port shutdown
    tty/serial: at91: fix hardware handshake on Atmel platforms
    vt: clear selection before resizing
    sc16is7xx: always write state when configuring GPIO as an output
    sh-sci: document R8A7743/5 support
    tty: serial: 8250: 8250_core: NXP SC16C2552 workaround
    tty: limit terminal size to 4M chars
    tty: serial: fsl_lpuart: Fix Tx DMA edge case
    serial: 8250_lpss: enable MSI for sure
    serial: core: fix console problems on uart_close
    serial: 8250_uniphier: fix clearing divisor latch access bit
    serial: 8250_uniphier: fix more unterminated string
    serial: pch_uart: add terminate entry for dmi_system_id tables
    devicetree: bindings: uart: Add new compatible string for ZynqMP
    serial: xuartps: Add new compatible string for ZynqMP
    serial: SERIAL_STM32 should depend on HAS_DMA
    serial: stm32: Fix comparisons with undefined register
    tty: vt, fix bogus division in csi_J

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of small USB driver fixes for 4.9-rc3.

    There is the usual number of gadget and xhci patches in here to
    resolved reported issues, as well as some usb-serial driver fixes and
    new device ids.

    All have been in linux-next with no reported issues"

    * tag 'usb-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits)
    usb: chipidea: host: fix NULL ptr dereference during shutdown
    usb: renesas_usbhs: add wait after initialization for R-Car Gen3
    usb: increase ohci watchdog delay to 275 msec
    usb: musb: Call pm_runtime from musb_gadget_queue
    usb: musb: Fix hardirq-safe hardirq-unsafe lock order error
    usb: ehci-platform: increase EHCI_MAX_RSTS to 4
    usb: ohci-at91: Set RemoteWakeupConnected bit explicitly.
    USB: serial: fix potential NULL-dereference at probe
    xhci: use default USB_RESUME_TIMEOUT when resuming ports.
    xhci: workaround for hosts missing CAS bit
    xhci: add restart quirk for Intel Wildcatpoint PCH
    USB: serial: cp210x: fix tiocmget error handling
    wusb: fix error return code in wusb_prf()
    Revert "Documentation: devicetree: dwc2: Deprecate g-tx-fifo-size"
    Revert "usb: dwc2: gadget: fix TX FIFO size and address initialization"
    Revert "usb: dwc2: gadget: change variable name to more meaningful"
    USB: serial: ftdi_sio: add support for Infineon TriBoard TC2X7
    wusb: Stop using the stack for sg crypto scratch space
    usb: dwc3: Fix size used in dma_free_coherent()
    usb: gadget: f_fs: stop sleeping in ffs_func_eps_disable
    ...

    Linus Torvalds
     

29 Oct, 2016

25 commits

  • The recent changes, which forced the registration of the boot cpu on UP
    systems, which do not have ACPI tables, have been fixed for systems w/o
    local APIC, but left a wreckage for systems which have neither ACPI nor
    mptables, but the CPU has an APIC, e.g. virtualbox.

    The boot process crashes in prefill_possible_map() as it wants to register
    the boot cpu, which needs to access the local apic, but the local APIC is
    not yet mapped.

    There is no reason why init_apic_mapping() can't be invoked before
    prefill_possible_map(). So instead of playing another silly early mapping
    game, as the ACPI/mptables code does, we just move init_apic_mapping()
    before the call to prefill_possible_map().

    In hindsight, I should have noticed that combination earlier.

    Sorry for the churn (also in stable)!

    Fixes: ff8560512b8d ("x86/boot/smp: Don't try to poke disabled/non-existent APIC")
    Reported-and-debugged-by: Michal Necasek
    Reported-and-tested-by: Wolfgang Bauer
    Cc: prarit@redhat.com
    Cc: ville.syrjala@linux.intel.com
    Cc: michael.thayer@oracle.com
    Cc: knut.osmundsen@oracle.com
    Cc: frank.mehnert@oracle.com
    Cc: Borislav Petkov
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1610282114380.5053@nanos
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These fix recent ACPICA regressions, an older PCI IRQ management
    regression, and an incorrect return value of a function in the APEI
    code.

    Specifics:

    - Fix three ACPICA issues related to the interpreter locking and
    introduced by recent changes in that area (Lv Zheng).

    - Fix a PCI IRQ management regression introduced during the 4.7 cycle
    and related to the configuration of shared IRQs on systems with an
    ISA bus (Sinan Kaya).

    - Fix up a return value of one function in the APEI code (Punit
    Agrawal)"

    * tag 'acpi-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPICA: Dispatcher: Fix interpreter locking around acpi_ev_initialize_region()
    ACPICA: Dispatcher: Fix an unbalanced lock exit path in acpi_ds_auto_serialize_method()
    ACPICA: Dispatcher: Fix order issue of method termination
    ACPI / APEI: Fix incorrect return value of ghes_proc()
    ACPI/PCI: pci_link: Include PIRQ_PENALTY_PCI_USING for ISA IRQs
    ACPI/PCI: pci_link: penalize SCI correctly
    ACPI/PCI/IRQ: assign ISA IRQ directly during early boot stages

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix two intel_pstate issues related to the way it works when the
    scaling_governor sysfs attribute is set to "performance" and fix up
    messages in the system suspend core code.

    Specifics:

    - Fix a missing KERN_CONT in a system suspend message by converting
    the affected code to using pr_info() and pr_cont() instead of the
    "raw" printk() (Jon Hunter).

    - Make intel_pstate set the CPU P-state from its .set_policy()
    callback when the scaling_governor sysfs attribute is set to
    "performance" so that it interacts with NOHZ_FULL more predictably
    which was the case before 4.7 (Rafael Wysocki).

    - Make intel_pstate always request the maximum allowed P-state when
    the scaling_governor sysfs attribute is set to "performance" to
    prevent it from effectively ingoring that setting is some
    situations (Rafael Wysocki)"

    * tag 'pm-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: intel_pstate: Always set max P-state in performance mode
    PM / suspend: Fix missing KERN_CONT for suspend message
    cpufreq: intel_pstate: Set P-state upfront in performance mode

    Linus Torvalds
     
  • Pull ARC updates from Vineet Gupta:

    - support IDU intc for UP builds

    - support gz, lzma compressed uImage [Daniel Mentz]

    - adjust /proc/cpuinfo for non-continuous cpu ids [Noam Camus]

    - syscall for userspace cmpxchg assist for configs lacking hardware atomics

    - rework of boot log printing mainly for identifying older arc700 cores

    - retiring some old code, build toggles

    * tag 'arc-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: module: print pretty section names
    ARC: module: elide loop to save reference to .eh_frame
    ARC: mm: retire ARC_DBG_TLB_MISS_COUNT...
    ARC: build: retire old toggles
    ARC: boot log: refactor cpu name/release printing
    ARC: boot log: remove awkward space comma from MMU line
    ARC: boot log: don't assume SWAPE instruction support
    ARC: boot log: refactor printing abt features not captured in BCRs
    ARCv2: boot log: print IOC exists as well as enabled status
    ARCv2: IOC: use @ioc_enable not @ioc_exist where intended
    ARC: syscall for userspace cmpxchg assist
    ARC: fix build warning in elf.h
    ARC: Adjust cpuinfo for non-continuous cpu ids
    ARC: [build] Support gz, lzma compressed uImage
    ARCv2: intc: untangle SMP, MCIP and IDU

    Linus Torvalds
     
  • * acpica-fixes:
    ACPICA: Dispatcher: Fix interpreter locking around acpi_ev_initialize_region()
    ACPICA: Dispatcher: Fix an unbalanced lock exit path in acpi_ds_auto_serialize_method()
    ACPICA: Dispatcher: Fix order issue of method termination

    * acpi-pci-fixes:
    ACPI/PCI: pci_link: Include PIRQ_PENALTY_PCI_USING for ISA IRQs
    ACPI/PCI: pci_link: penalize SCI correctly
    ACPI/PCI/IRQ: assign ISA IRQ directly during early boot stages

    * acpi-apei-fixes:
    ACPI / APEI: Fix incorrect return value of ghes_proc()

    Rafael J. Wysocki
     
  • In the code path of acpi_ev_initialize_region(), there is namespace
    modification code unlocked. This patch tunes the code to make sure
    such modification are always locked.

    Fixes: 74f51b80a0c4 (ACPICA: Namespace: Fix dynamic table loading issues)
    Tested-by: Imre Deak
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • There is a lock unbalanced exit path in acpi_ds_initialize_method(),
    this patch corrects it.

    Fixes: 441ad11d078f (ACPICA: Dispatcher: Fix a mutex issue for method auto serialization)
    Tested-by: Imre Deak
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • The last step of the method termination should be the end of the method
    serialization. Otherwise, the steps happening after it will face the race
    issues that cannot be protected by the method serialization mechanism.

    This patch fixes this issue by moving the per-method-object deletion code
    prior than the end of the method serialization. Otherwise, the possible
    race issues may result in AE_ALREADY_EXISTS error in a parallel
    environment.

    Fixes: 74f51b80a0c4 (ACPICA: Namespace: Fix dynamic table loading issues)
    Reported-and-tested-by: Imre Deak
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • Pull powerpc fixes from Michael Ellerman:
    "Fixes marked for stable:
    - Convert cmp to cmpd in idle enter sequence (Segher Boessenkool)
    - cxl: Fix leaking pid refs in some error paths (Vaibhav Jain)
    - Re-fix race condition between going idle and entering guest (Paul Mackerras)
    - Fix race condition in setting lock bit in idle/wakeup code (Paul Mackerras)
    - radix: Use tlbiel only if we ever ran on the current cpu (Aneesh Kumar K.V)
    - relocation, register save fixes for system reset interrupt (Nicholas Piggin)

    Fixes for code merged this cycle:
    - Fix CONFIG_ALIVEC typo in restore_tm_state() (Valentin Rothberg)
    - KVM: PPC: Book3S HV: Fix build error when SMP=n (Michael Ellerman)"

    * tag 'powerpc-4.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/64s: relocation, register save fixes for system reset interrupt
    powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu
    powerpc/process: Fix CONFIG_ALIVEC typo in restore_tm_state()
    powerpc/64: Fix race condition in setting lock bit in idle/wakeup code
    powerpc/64: Re-fix race condition between going idle and entering guest
    cxl: Fix leaking pid refs in some error paths
    powerpc: Convert cmp to cmpd in idle enter sequence
    KVM: PPC: Book3S HV: Fix build error when SMP=n

    Linus Torvalds
     
  • * pm-cpufreq-fixes:
    cpufreq: intel_pstate: Always set max P-state in performance mode
    cpufreq: intel_pstate: Set P-state upfront in performance mode

    * pm-sleep-fixes:
    PM / suspend: Fix missing KERN_CONT for suspend message

    Rafael J. Wysocki
     
  • Pull perf fixes from Ingo Molnar:
    "Misc kernel fixes: a virtualization environment related fix, an uncore
    PMU driver removal handling fix, a PowerPC fix and new events for
    Knights Landing"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel: Honour the CPUID for number of fixed counters in hypervisors
    perf/powerpc: Don't call perf_event_disable() from atomic context
    perf/core: Protect PMU device removal with a 'pmu_bus_running' check, to fix CONFIG_DEBUG_TEST_DRIVER_REMOVE=y kernel panic
    perf/x86/intel/cstate: Add C-state residency events for Knights Landing

    Linus Torvalds
     
  • Pull libnvdimm fixes from Dan Williams:
    "A build fix, a NULL de-reference found by static analysis, a misuse of
    the percpu_ref_exit() (tagged for -stable), and notification of failed
    attempts to clear media errors.

    These patches have received a build success notification from the
    0day- kbuild-robot and appeared in next-20161028"

    * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    device-dax: fix percpu_ref_exit ordering
    nvdimm: make CONFIG_NVDIMM_DAX 'bool'
    pmem: report error on clear poison failure
    libnvdimm, namespace: potential NULL deref on allocation error

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "Three arm64 fixes for -rc3. They're all pretty straightforward: a
    couple of NUMA issues from the Huawei folks and a thinko in
    __page_to_voff that seems to be benign, but is certainly better off
    fixed.

    Summary:
    - couple of NUMA fixes
    - thinko in __page_to_voff"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: fix __page_to_voff definition
    arm64/numa: fix incorrect log for memory-less node
    arm64/numa: fix pcpu_cpu_distance() to get correct CPU proximity

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes: three build fixes, an unwinder fix and a microcode loader
    fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/microcode/AMD: Fix more fallout from CONFIG_RANDOMIZE_MEMORY=y
    x86: Fix export for mcount and __fentry__
    x86/quirks: Hide maybe-uninitialized warning
    x86/build: Fix build with older GCC versions
    x86/unwind: Fix empty stack dereference in guess unwinder

    Linus Torvalds
     
  • Pull timer fixes from Ingo Molnar:
    "Fix four timer locking races: two were noticed by Linus while
    reviewing the code while chasing for a corruption bug, and two
    from fixing spurious USB timeouts"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timers: Prevent base clock corruption when forwarding
    timers: Prevent base clock rewind when forwarding clock
    timers: Lock base for same bucket optimization
    timers: Plug locking race vs. timer migration

    Linus Torvalds
     
  • …-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull objtool, irq and scheduler fixes from Ingo Molnar:
    "One more objtool fixlet for GCC6 code generation patterns, an irq
    DocBook fix and an unused variable warning fix in the scheduler"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool: Fix rare switch jump table pattern detection

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    doc: Add missing parameter for msi_setup

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/fair: Remove unused but set variable 'rq'

    Linus Torvalds
     
  • Now that we have referece to section name string table in
    apply_relocate_add(), use it to

    - print the name of section being relocated
    - print symbol with NULL name (since it refers to a section)

    before

    | Section to fixup 7000a060
    | =========================================================
    | rela->r_off | rela->addend | sym->st_value | ADDR | VALUE
    | =========================================================
    | 1c 0 7000e000 7000a07c 7000e000 []
    | 40 0 7000a000 7000a0a0 7000a000 []

    after

    | Section to fixup .eh_frame @7000a060
    | =========================================================
    | r_off r_add st_value ADDRESS VALUE
    | =========================================================
    | 1c 0 7000e000 7000a07c 7000e000 [.init.text]
    | 40 0 7000a000 7000a0a0 7000a000 [.exit.text]

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • The loop was really needed in .debug_frame regime where wanted make it
    as SH_ALLOC so that apply_relocate_add() would process it. That's not
    needed for .eh_frame, so we check this in apply_relocate_add() which
    gets called for each section.

    Note that we need to save reference to "section name strings" section in
    module_frob_arch_sections() since apply_relocate_add() doesn't get that

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • ... given that we have perf counters abel to do the same thing non
    intrusively

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • These are really ancient toggles and tools no longer require them to be
    passed. This paves way for deprecating them in long run.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • The motivation is to identify ARC750 vs. ARC770 (we currently print
    generic "ARC700").

    A given ARC700 release could be 750 or 770, with same ARCNUM (or family
    identifier which is unfortunate). The existing arc_cpu_tbl[] kept a single
    concatenated string for core name and release which thus doesn't work
    for 750 vs. 770 identification.

    So split this into 2 tables, one with core names and other with release.
    And while we are at it, get rid of the range checking for family numbers.
    We just document the known to exist cores running Linux and ditch
    others.

    With this in place, we add detection of ARC750 which is
    - cores 0x33 and before
    - cores 0x34 and later with MMUv2

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • This came to light when helping a customer with oldish ARC750 core who
    were getting instruction errors because of lack of SWAPE but boot log
    was incorrectly printing it as being present

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • On older arc700 cores, some of the features configured were not present
    in Build config registers. To print about them at boot, we just use the
    Kconfig option i.e. whether linux is built to use them or not.
    So yes this seems bogus, but what else can be done. Moreover if linux is
    booting with these enabled, then the Kconfig info is a good indicator
    anyways.

    Over time these "hacks" accumulated in read_arc_build_cfg_regs() as well
    as arc_cpu_mumbojumbo(). so refactor and move all of those in a single
    place: read_arc_build_cfg_regs(). This causes some code redcution too:

    | bloat-o-meter2 arch/arc/kernel/setup.o.0 arch/arc/kernel/setup.o.1
    | add/remove: 0/0 grow/shrink: 2/1 up/down: 64/-132 (-68)
    | function old new delta
    | setup_processor 610 670 +60
    | cpuinfo_arc700 76 80 +4
    | arc_cpu_mumbojumbo 752 620 -132

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Pull btrfs fixes from Chris Mason:
    "My patch fixes the btrfs list_head abuse that we tracked down during
    Dave Jones' memory corruption investigation. With both Jens and my
    patches in place, I'm no longer able to trigger problems.

    Filipe is fixing a difficult old bug between snapshots, balance and
    send. Dave is cooking a few more for the next rc, but these are tested
    and ready"

    * 'for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: fix races on root_log_ctx lists
    btrfs: fix incremental send failure caused by balance

    Linus Torvalds