Skip to content
Permalink
Shuai-Xue/ACPI…
Switch branches/tags

Commits on Nov 12, 2021

  1. ACPI: Move sdei_init and ghes_init ahead

    On an ACPI system, ACPI is initialised very early from a
    subsys_initcall(), while SDEI is not ready until a subsys_initcall().
    More seriously, the kernel is able to handle and report errors until the
    GHES is initialised by device_initcall().
    
    Consequently, when an error occurs during the kernel booting, the
    phyiscal sdei dispatcher in firmware fails to dispatch error events. All
    errors that occurred before GHES initialization are missed and there is
    no chance to report and find them again.
    
    In this patch, move sdei_init and ghes_init as far ahead as possible,
    right after acpi_hest_init().
    
    Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
    axiqia authored and intel-lab-lkp committed Nov 12, 2021

Commits on Nov 10, 2021

  1. Merge tag 'thermal-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/rafael/linux-pm
    
    Pull more thermal control updates from Rafael Wysocki:
     "These fix two issues in the thermal core and one in the int340x
      thermal driver.
    
      Specifics:
    
       - Replace pr_warn() with pr_warn_once() in user_space_bind() to
         reduce kernel log noise (Rafael Wysocki).
    
       - Extend the RFIM mailbox interface in the int340x thermal driver to
         return 64 bit values to allow all values returned by the hardware
         to be handled correctly (Srinivas Pandruvada).
    
       - Fix possible NULL pointer dereferences in the of_thermal_ family of
         functions (Subbaraman Narayanamurthy)"
    
    * tag 'thermal-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      thermal: Replace pr_warn() with pr_warn_once() in user_space_bind()
      thermal: Fix NULL pointer dereferences in of_thermal_ functions
      thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses
    torvalds committed Nov 10, 2021
  2. Merge tag 'pm-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    Pull more power management updates from Rafael Wysocki:
     "These fix three intel_pstate driver regressions, fix locking in the
      core code suspending and resuming devices during system PM
      transitions, fix the handling of cpuidle drivers based on runtime PM
      during system-wide suspend, fix two issues in the operating
      performance points (OPP) framework and resource-managed helpers to it.
    
      Specifics:
    
       - Fix two intel_pstate driver regressions related to the HWP
         interrupt handling added recently (Srinivas Pandruvada).
    
       - Fix intel_pstate driver regression introduced during the 5.11 cycle
         and causing HWP desired performance to be mishandled in some cases
         when switching driver modes and during system suspend and shutdown
         (Rafael Wysocki).
    
       - Fix system-wide device suspend and resume locking to avoid
         deadlocks when device objects are deleted during a system-wide PM
         transition (Rafael Wysocki).
    
       - Modify system-wide suspend of devices to prevent cpuidle drivers
         based on runtime PM from misbehaving during the "no IRQ" phase of
         it (Ulf Hansson).
    
       - Fix return value of _opp_add_static_v2() helper (YueHaibing).
    
       - Fix required-opp handle count (Pavankumar Kondeti).
    
       - Add resource managed OPP helpers, update dev_pm_opp_attach_genpd(),
         update their devfreq users, and make minor DT binding change
         (Dmitry Osipenko)"
    
    * tag 'pm-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PM: sleep: Avoid calling put_device() under dpm_list_mtx
      cpufreq: intel_pstate: Clear HWP Status during HWP Interrupt enable
      cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
      cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline
      PM: sleep: Fix runtime PM based cpuidle support
      dt-bindings: opp: Allow multi-worded OPP entry name
      opp: Fix return in _opp_add_static_v2()
      PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate
      PM / devfreq: tegra30: Use resource-managed helpers
      PM / devfreq: Add devm_devfreq_add_governor()
      opp: Add more resource-managed variants of dev_pm_opp_of_add_table()
      opp: Change type of dev_pm_opp_attach_genpd(names) argument
      opp: Fix required-opps phandle array count check
    torvalds committed Nov 10, 2021
  3. Merge tag 'acpi-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rafael/linux-pm
    
    Pull more ACPI updates from Rafael Wysocki:
     "These add support for a new ACPI device configuration object called
      _DSC, fix some issues including one recent regression, add two new
      items to quirk lists and clean up assorted pieces of code.
    
      Specifics:
    
       - Add support for new ACPI device configuration object called _DSC
         ("Deepest State for Configuration") to allow certain devices to be
         probed without changing their power states, document it and make
         two drivers use it (Sakari Ailus, Rajmohan Mani).
    
       - Fix device wakeup power reference counting broken recently by
         mistake (Rafael Wysocki).
    
       - Drop unused symbol and macros depending on it from acgcc.h (Rafael
         Wysocki).
    
       - Add HP ZHAN 66 Pro to the "no EC wakeup" quirk list (Binbin Zhou).
    
       - Add Xiaomi Mi Pad 2 to the backlight quirk list and drop an unused
         piece of data from all of the list entries (Hans de Goede).
    
       - Fix register read accesses handling in the Intel PMIC operation
         region driver (Hans de Goede).
    
       - Clean up static variables initialization in the EC driver
         (wangzhitong)"
    
    * tag 'acpi-5.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      Documentation: ACPI: Fix non-D0 probe _DSC object example
      ACPI: Drop ACPI_USE_BUILTIN_STDARG ifdef from acgcc.h
      ACPI: PM: Fix device wakeup power reference counting error
      ACPI: video: use platform backlight driver on Xiaomi Mi Pad 2
      ACPI: video: Drop dmi_system_id.ident settings from video_detect_dmi_table[]
      ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses
      ACPI: EC: Remove initialization of static variables to false
      ACPI: EC: Use ec_no_wakeup on HP ZHAN 66 Pro
      at24: Support probing while in non-zero ACPI D state
      media: i2c: imx319: Support device probe in non-zero ACPI D state
      ACPI: Add a convenience function to tell a device is in D0 state
      Documentation: ACPI: Document _DSC object usage for enum power state
      i2c: Allow an ACPI driver to manage the device's power state during probe
      ACPI: scan: Obtain device's desired enumeration power state
    torvalds committed Nov 10, 2021
  4. Merge tag 'dmaengine-5.16-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/vkoul/dmaengine
    
    Pull dmaengine updates from Vinod Koul:
     "A bunch of driver updates, no new driver or controller support this
      time though:
    
       - Another pile of idxd updates
    
       - pm routines cleanup for at_xdmac driver
    
       - Correct handling of callback_result for few drivers
    
       - zynqmp_dma driver updates and descriptor management refinement
    
       - Hardware handshaking support for dw-axi-dmac
    
       - Support for remotely powered controllers in Qcom bam dma
    
       - tegra driver updates"
    
    * tag 'dmaengine-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (69 commits)
      dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail
      dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail
      dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width
      dmaengine: fsl-edma: support edma memcpy
      dmaengine: idxd: fix resource leak on dmaengine driver disable
      dmaengine: idxd: cleanup completion record allocation
      dmaengine: zynqmp_dma: Correctly handle descriptor callbacks
      dmaengine: xilinx_dma: Correctly handle cyclic descriptor callbacks
      dmaengine: altera-msgdma: Correctly handle descriptor callbacks
      dmaengine: at_xdmac: fix compilation warning
      dmaengine: dw-axi-dmac: Simplify assignment in dma_chan_pause()
      dmaengine: qcom: bam_dma: Add "powered remotely" mode
      dt-bindings: dmaengine: bam_dma: Add "powered remotely" mode
      dmaengine: sa11x0: Mark PM functions as __maybe_unused
      dmaengine: switch from 'pci_' to 'dma_' API
      dmaengine: ioat: switch from 'pci_' to 'dma_' API
      dmaengine: hsu: switch from 'pci_' to 'dma_' API
      dmaengine: hisi_dma: switch from 'pci_' to 'dma_' API
      dmaengine: dw: switch from 'pci_' to 'dma_' API
      dmaengine: dw-edma-pcie: switch from 'pci_' to 'dma_' API
      ...
    torvalds committed Nov 10, 2021
  5. Merge tag 'tag-chrome-platform-for-v5.16' of git://git.kernel.org/pub…

    …/scm/linux/kernel/git/chrome-platform/linux
    
    Pull chrome platform updates from Benson Leung:
     "cros_ec_typec:
    
       - Clean up use of cros_ec_check_features
    
      cros_ec_*:
    
       - Rename and move cros_ec_pd_command to cros_ec_command, and make
         changes to cros_ec_typec and cros_ec_proto to use the new common
         command, reducing duplication.
    
      sensorhub:
    
       - simplify getting .driver_data in cros_ec_sensors_core and
         cros_ec_sensorhub
    
      misc:
    
       - Maintainership change. Enric Balletbo i Serra has moved on from
         Collabora, so removing him from chrome/platform maintainers. Thanks
         for all of your hard work maintaining this, Enric, and best of luck
         to you in your new role!
    
       - Add Prashant Malani as driver maintainer for cros_ec_typec.c and
         cros_usbpd_notify. He was already principal contributor of these
         drivers"
    
    * tag 'tag-chrome-platform-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
      platform/chrome: cros_ec_proto: Use ec_command for check_features
      platform/chrome: cros_ec_proto: Use EC struct for features
      MAINTAINERS: Chrome: Drop Enric Balletbo i Serra
      platform/chrome: cros_ec_typec: Use cros_ec_command()
      platform/chrome: cros_ec_proto: Add version for ec_command
      platform/chrome: cros_ec_proto: Make data pointers void
      platform/chrome: cros_usbpd_notify: Move ec_command()
      platform/chrome: cros_usbpd_notify: Rename cros_ec_pd_command()
      platform/chrome: cros_ec: Fix spelling mistake "responsed" -> "response"
      platform/chrome: cros_ec_sensorhub: simplify getting .driver_data
      iio: common: cros_ec_sensors: simplify getting .driver_data
      platform/chrome: cros-ec-typec: Cleanup use of check_features
      platform/chrome: cros_ec_proto: Fix check_features ret val
      MAINTAINERS: Add Prashant's maintainership of cros_ec drivers
    torvalds committed Nov 10, 2021
  6. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Will Deacon:
    
     - Fix double-evaluation of 'pte' macro argument when using 52-bit PAs
    
     - Fix signedness of some MTE prctl PR_* constants
    
     - Fix kmemleak memory usage by skipping early pgtable allocations
    
     - Fix printing of CPU feature register strings
    
     - Remove redundant -nostdlib linker flag for vDSO binaries
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions
      arm64: Track no early_pgtable_alloc() for kmemleak
      arm64: mte: change PR_MTE_TCF_NONE back into an unsigned long
      arm64: vdso: remove -nostdlib compiler flag
      arm64: arm64_ftr_reg->name may not be a human-readable string
    torvalds committed Nov 10, 2021
  7. Merge tag 'arm-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/soc/soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "This is one set of fixes for the NXP/FSL DPAA2 drivers, addressing a
      few minor issues. I received these just after sending out the last
      v5.15 fixes, and nothing in here seemed urgent enough for a quick
      follow-up"
    
    * tag 'arm-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
      soc: fsl: dpaa2-console: free buffer before returning from dpaa2_console_read
      soc: fsl: dpio: use the combined functions to protect critical zone
      soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id
    torvalds committed Nov 10, 2021
  8. Merge tag 'asm-generic-5.16' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/arnd/asm-generic
    
    Pull asm-generic cleanup from Arnd Bergmann:
     "This is a single cleanup from Peter Collingbourne, removing some dead
      code"
    
    * tag 'asm-generic-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
      arch: remove unused function syscall_set_arguments()
    torvalds committed Nov 10, 2021
  9. Merge tag 'for-linus-5.16b-rc1-tag' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/xen/tip
    
    Pull xen updates from Juergen Gross:
    
     - a series to speed up the boot of Xen PV guests
    
     - some cleanups in Xen related code
    
     - replacement of license texts with the appropriate SPDX headers and
       fixing of wrong SPDX headers in Xen header files
    
     - a small series making paravirtualized interrupt masking much simpler
       and at the same time removing complaints of objtool
    
     - a fix for Xen ballooning hogging workqueues for too long
    
     - enablement of the Xen pciback driver for Arm
    
     - some further small fixes/enhancements
    
    * tag 'for-linus-5.16b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits)
      xen/balloon: fix unused-variable warning
      xen/balloon: rename alloc/free_xenballooned_pages
      xen/balloon: add late_initcall_sync() for initial ballooning done
      x86/xen: remove 32-bit awareness from startup_xen
      xen: remove highmem remnants
      xen: allow pv-only hypercalls only with CONFIG_XEN_PV
      x86/xen: remove 32-bit pv leftovers
      xen-pciback: allow compiling on other archs than x86
      x86/xen: switch initial pvops IRQ functions to dummy ones
      x86/xen: remove xen_have_vcpu_info_placement flag
      x86/pvh: add prototype for xen_pvh_init()
      xen: Fix implicit type conversion
      xen: fix wrong SPDX headers of Xen related headers
      xen/pvcalls-back: Remove redundant 'flush_workqueue()' calls
      x86/xen: Remove redundant irq_enter/exit() invocations
      xen-pciback: Fix return in pm_ctrl_init()
      xen/x86: restrict PV Dom0 identity mapping
      xen/x86: there's no highmem anymore in PV mode
      xen/x86: adjust handling of the L3 user vsyscall special page table
      xen/x86: adjust xen_set_fixmap()
      ...
    torvalds committed Nov 10, 2021
  10. Merge tag 'libnvdimm-for-5.16' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/nvdimm/nvdimm
    
    Pull libnvdimm update from Dan Williams:
     "A single cleanup that precedes some deeper PMEM/DAX reworks that did
      not settle in time for v5.16:
    
       - Continue the cleanup of the dax api in preparation for a dax-device
         block-device divorce"
    
    * tag 'libnvdimm-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
      nvdimm/pmem: move dax_attribute_group from dax to pmem
    torvalds committed Nov 10, 2021
  11. Merge tag 'linux-watchdog-5.16-rc1' of git://www.linux-watchdog.org/l…

    …inux-watchdog
    
    Pull watchdog updates from Wim Van Sebroeck:
    
     - f71808e_wdt: convert to watchdog framework
    
     - db8500_wdt: Rename driver (was ux500_wdt.c)
    
     - sunxi: Add compatibles for R329 and D1
    
     - mtk: add disable_wdt_extrst support
    
     - several other small fixes and improvements
    
    * tag 'linux-watchdog-5.16-rc1' of git://www.linux-watchdog.org/linux-watchdog: (30 commits)
      watchdog: db8500_wdt: Rename symbols
      watchdog: db8500_wdt: Rename driver
      watchdog: ux500_wdt: Drop platform data
      watchdog: bcm63xx_wdt: fix fallthrough warning
      watchdog: iTCO_wdt: No need to stop the timer in probe
      watchdog: s3c2410: describe driver in KConfig
      watchdog: sp5100_tco: Add support for get_timeleft
      watchdog: mtk: add disable_wdt_extrst support
      dt-bindings: watchdog: mtk-wdt: add disable_wdt_extrst support
      watchdog: rza_wdt: Use semicolons instead of commas
      watchdog: mlx-wdt: Use regmap_write_bits()
      watchdog: rti-wdt: Make use of the helper function devm_platform_ioremap_resource()
      watchdog: iTCO_wdt: Make use of the helper function devm_platform_ioremap_resource()
      watchdog: ar7_wdt: Make use of the helper function devm_platform_ioremap_resource_byname()
      watchdog: sunxi_wdt: Add support for D1
      dt-bindings: watchdog: sunxi: Add compatibles for D1
      ar7: fix kernel builds for compiler test
      dt-bindings: watchdog: sunxi: Add compatibles for R329
      watchdog: meson_gxbb_wdt: add timeout parameter
      watchdog: meson_gxbb_wdt: add nowayout parameter
      ...
    torvalds committed Nov 10, 2021
  12. Merge tag 'rproc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/remoteproc/linux
    
    Pull remoteproc updates from Bjorn Andersson:
     "The remoteproc repo is moved to a new path on git.kernel.org, to allow
      Mathieu push access to the branches.
    
      Support for the Mediatek MT8195 SCP was added, the related DeviceTree
      binding was converted to YAML and MT8192 SCP was documented as well.
    
      Amlogic Meson6, Meson8, Meson8b and Meson8m2 has an ARC core to aid in
      resuming the system after suspend, a new remoteproc driver for booting
      this core is introduced.
    
      A new driver to support the DSP processor found on NXP i.MX8QM,
      i.MX8QXP, i.MX8MP and i.MX8ULP is added.
    
      The Qualcomm modem and TrustZone based remoteproc drivers gains
      support for the modem in SC7280 and MSM8996 gains support for a
      missing power-domain.
    
      Throughout the Qualcomm drivers, the support for informing the
      always-on power coprocessor about the state of each remoteproc is
      reworked to avoid complications related to our use of genpd and the
      system suspend state.
    
      Lastly a number of small fixes are found throughout the drivers and
      framework"
    
    * tag 'rproc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (39 commits)
      remoteproc: Remove vdev_to_rvdev and vdev_to_rproc from remoteproc API
      remoteproc: omap_remoteproc: simplify getting .driver_data
      remoteproc: qcom_q6v5_mss: Use devm_platform_ioremap_resource_byname() to simplify code
      remoteproc: Fix a memory leak in an error handling path in 'rproc_handle_vdev()'
      remoteproc: Fix spelling mistake "atleast" -> "at least"
      remoteproc: imx_dsp_rproc: mark PM functions as __maybe_unused
      remoteproc: imx_dsp_rproc: Correct the comment style of copyright
      dt-bindings: dsp: fsl: Update binding document for remote proc driver
      remoteproc: imx_dsp_rproc: Add remoteproc driver for DSP on i.MX
      remoteproc: imx_rproc: Add IMX_RPROC_SCU_API method
      remoteproc: imx_rproc: Move common structure to header file
      rpmsg: char: Remove useless include
      remoteproc: meson-mx-ao-arc: fix a bit test
      remoteproc: mss: q6v5-mss: Add modem support on SC7280
      dt-bindings: remoteproc: qcom: Update Q6V5 Modem PIL binding
      remoteproc: qcom: pas: Add SC7280 Modem support
      dt-bindings: remoteproc: qcom: pas: Add SC7280 MPSS support
      remoteproc: qcom: pas: Use the same init resources for MSM8996 and MSM8998
      MAINTAINERS: Update remoteproc repo url
      dt-bindings: remoteproc: k3-dsp: Cleanup SoC compatible from DT example
      ...
    torvalds committed Nov 10, 2021
  13. Merge tag 'rpmsg-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/remoteproc/linux
    
    Pull rpmsg updates from Bjorn Andersson:
     "For the GLINK implementation this adds support for splitting outgoing
      messages that are too large to fit in the fifo, it introduces the use
      of "read notifications", to avoid polling in the case where the
      outgoing fifo is full and a few bugs are squashed.
    
      The return value of rpmsg_create_ept() for when RPMSG is disabled is
      corrected to return a valid error, the Mediatek rpmsg driver is
      updated to match the DT binding and a couple of cleanups are done in
      the virtio rpmsg driver"
    
    * tag 'rpmsg-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
      rpmsg: glink: Send READ_NOTIFY command in FIFO full case
      rpmsg: glink: Remove channel decouple from rpdev release
      rpmsg: glink: Remove the rpmsg dev in close_ack
      rpmsg: glink: Add TX_DATA_CONT command while sending
      rpmsg: virtio_rpmsg_bus: use dev_warn_ratelimited for msg with no recipient
      rpmsg: virtio: Remove unused including <linux/of_device.h>
      rpmsg: Change naming of mediatek rpmsg property
      rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined
      rpmsg: glink: Replace strncpy() with strscpy_pad()
    torvalds committed Nov 10, 2021
  14. Merge branch 'thermal-int340x'

    Merge int340x thermal driver fix for 5.16-rc1.
    
    * thermal-int340x:
      thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses
    rafaeljw committed Nov 10, 2021
  15. Merge branches 'pm-opp' and 'pm-cpufreq'

    Merge operating performance points (OPP) framework updates for and
    intel_pstate driver fixes for 5.16-rc1.
    
    * pm-opp:
      dt-bindings: opp: Allow multi-worded OPP entry name
      opp: Fix return in _opp_add_static_v2()
      PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate
      PM / devfreq: tegra30: Use resource-managed helpers
      PM / devfreq: Add devm_devfreq_add_governor()
      opp: Add more resource-managed variants of dev_pm_opp_of_add_table()
      opp: Change type of dev_pm_opp_attach_genpd(names) argument
      opp: Fix required-opps phandle array count check
    
    * pm-cpufreq:
      cpufreq: intel_pstate: Clear HWP Status during HWP Interrupt enable
      cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
      cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline
    rafaeljw committed Nov 10, 2021
  16. Merge branches 'acpica', 'acpi-ec', 'acpi-pmic' and 'acpi-video'

    Merge assorted fixes and cleanups and one new backlight quirk list
    item for 5.16-rc1.
    
    * acpica:
      ACPI: Drop ACPI_USE_BUILTIN_STDARG ifdef from acgcc.h
    
    * acpi-ec:
      ACPI: EC: Remove initialization of static variables to false
      ACPI: EC: Use ec_no_wakeup on HP ZHAN 66 Pro
    
    * acpi-pmic:
      ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses
    
    * acpi-video:
      ACPI: video: use platform backlight driver on Xiaomi Mi Pad 2
      ACPI: video: Drop dmi_system_id.ident settings from video_detect_dmi_table[]
    rafaeljw committed Nov 10, 2021
  17. Merge branch 'acpi-dsc'

    Merge new ACPI device configuration object _DSC support for 5.16-rc1.
    
    * acpi-dsc:
      Documentation: ACPI: Fix non-D0 probe _DSC object example
      at24: Support probing while in non-zero ACPI D state
      media: i2c: imx319: Support device probe in non-zero ACPI D state
      ACPI: Add a convenience function to tell a device is in D0 state
      Documentation: ACPI: Document _DSC object usage for enum power state
      i2c: Allow an ACPI driver to manage the device's power state during probe
      ACPI: scan: Obtain device's desired enumeration power state
    rafaeljw committed Nov 10, 2021
  18. Documentation: ACPI: Fix non-D0 probe _DSC object example

    The original patch adding the example used _DSC Name when Method was
    intended. Fix this.
    
    Also replace spaces used for indentation with tabs in the example.
    
    Fixes: ed66f12 ("Documentation: ACPI: Document _DSC object usage for enum power state")
    Reported-by: Bingbu Cao <bingbu.cao@intel.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Sakari Ailus authored and rafaeljw committed Nov 10, 2021

Commits on Nov 9, 2021

  1. Merge tag 'for-5.16/drivers-2021-11-09' of git://git.kernel.dk/linux-…

    …block
    
    Pull more block driver updates from Jens Axboe:
    
     - Last series adding error handling support for add_disk() in drivers.
       After this one, and once the SCSI side has been merged, we can
       finally annotate add_disk() as must_check. (Luis)
    
     - bcache fixes (Coly)
    
     - zram fixes (Ming)
    
     - ataflop locking fix (Tetsuo)
    
     - nbd fixes (Ye, Yu)
    
     - MD merge via Song
          - Cleanup (Yang)
          - sysfs fix (Guoqing)
    
     - Misc fixes (Geert, Wu, luo)
    
    * tag 'for-5.16/drivers-2021-11-09' of git://git.kernel.dk/linux-block: (34 commits)
      bcache: Revert "bcache: use bvec_virt"
      ataflop: Add missing semicolon to return statement
      floppy: address add_disk() error handling on probe
      ataflop: address add_disk() error handling on probe
      block: update __register_blkdev() probe documentation
      ataflop: remove ataflop_probe_lock mutex
      mtd/ubi/block: add error handling support for add_disk()
      block/sunvdc: add error handling support for add_disk()
      z2ram: add error handling support for add_disk()
      nvdimm/pmem: use add_disk() error handling
      nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned
      nvdimm/blk: add error handling support for add_disk()
      nvdimm/blk: avoid calling del_gendisk() on early failures
      nvdimm/btt: add error handling support for add_disk()
      nvdimm/btt: use goto error labels on btt_blk_init()
      loop: Remove duplicate assignments
      drbd: Fix double free problem in drbd_create_device
      nvdimm/btt: do not call del_gendisk() if not needed
      bcache: fix use-after-free problem in bcache_device_free()
      zram: replace fsync_bdev with sync_blockdev
      ...
    torvalds committed Nov 9, 2021
  2. Merge tag 'for-5.16/block-2021-11-09' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
    
     - Set of fixes for the batched tag allocation (Ming, me)
    
     - add_disk() error handling fix (Luis)
    
     - Nested queue quiesce fixes (Ming)
    
     - Shared tags init error handling fix (Ye)
    
     - Misc cleanups (Jean, Ming, me)
    
    * tag 'for-5.16/block-2021-11-09' of git://git.kernel.dk/linux-block:
      nvme: wait until quiesce is done
      scsi: make sure that request queue queiesce and unquiesce balanced
      scsi: avoid to quiesce sdev->request_queue two times
      blk-mq: add one API for waiting until quiesce is done
      blk-mq: don't free tags if the tag_set is used by other device in queue initialztion
      block: fix device_add_disk() kobject_create_and_add() error handling
      block: ensure cached plug request matches the current queue
      block: move queue enter logic into blk_mq_submit_bio()
      block: make bio_queue_enter() fast-path available inline
      block: split request allocation components into helpers
      block: have plug stored requests hold references to the queue
      blk-mq: update hctx->nr_active in blk_mq_end_request_batch()
      blk-mq: add RQF_ELV debug entry
      blk-mq: only try to run plug merge if request has same queue with incoming bio
      block: move RQF_ELV setting into allocators
      dm: don't stop request queue after the dm device is suspended
      block: replace always false argument with 'false'
      block: assign correct tag before doing prefetch of request
      blk-mq: fix redundant check of !e expression
    torvalds committed Nov 9, 2021
  3. Merge tag 'for-5.16/bdev-size-2021-11-09' of git://git.kernel.dk/linu…

    …x-block
    
    Pull more bdev size updates from Jens Axboe:
     "Two followup changes for the bdev-size series from this merge window:
    
       - Add loff_t cast to bdev_nr_bytes() (Christoph)
    
       - Use bdev_nr_bytes() consistently for the block parts at least (me)"
    
    * tag 'for-5.16/bdev-size-2021-11-09' of git://git.kernel.dk/linux-block:
      block: use new bdev_nr_bytes() helper for blkdev_{read,write}_iter()
      block: add a loff_t cast to bdev_nr_bytes
    torvalds committed Nov 9, 2021
  4. Merge tag 'io_uring-5.16-2021-11-09' of git://git.kernel.dk/linux-block

    Pull io_uring fixes from Jens Axboe:
     "Minor fixes that should go into the 5.16 release:
    
       - Fix max worker setting not working correctly on NUMA (Beld)
    
       - Correctly return current setting for max workers if zeroes are
         passed in (Pavel)
    
       - io_queue_sqe_arm_apoll() cleanup, as identified during the initial
         merge (Pavel)
    
       - Misc fixes (Nghia, me)"
    
    * tag 'io_uring-5.16-2021-11-09' of git://git.kernel.dk/linux-block:
      io_uring: honour zeroes as io-wq worker limits
      io_uring: remove dead 'sqe' store
      io_uring: remove redundant assignment to ret in io_register_iowq_max_workers()
      io-wq: fix max-workers not correctly set on multi-node system
      io_uring: clean up io_queue_sqe_arm_apoll
    torvalds committed Nov 9, 2021
  5. Merge tag 'for-5.16/dm-changes' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/device-mapper/linux-dm
    
    Pull device mapper updates from Mike Snitzer:
    
     - Add DM core support for emitting audit events through the audit
       subsystem. Also enhance both the integrity and crypt targets to emit
       events to via dm-audit.
    
     - Various other simple code improvements and cleanups.
    
    * tag 'for-5.16/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm table: log table creation error code
      dm: make workqueue names device-specific
      dm writecache: Make use of the helper macro kthread_run()
      dm crypt: Make use of the helper macro kthread_run()
      dm verity: use bvec_kmap_local in verity_for_bv_block
      dm log writes: use memcpy_from_bvec in log_writes_map
      dm integrity: use bvec_kmap_local in __journal_read_write
      dm integrity: use bvec_kmap_local in integrity_metadata
      dm: add add_disk() error handling
      dm: Remove redundant flush_workqueue() calls
      dm crypt: log aead integrity violations to audit subsystem
      dm integrity: log audit events for dm-integrity target
      dm: introduce audit event module for device mapper
    torvalds committed Nov 9, 2021
  6. Merge tag 'dma-mapping-5.16' of git://git.infradead.org/users/hch/dma…

    …-mapping
    
    Pull dma-mapping updates from Christoph Hellwig:
     "Just a small set of changes this time. The request dma_direct_alloc
      cleanups are still under review and haven't made the cut.
    
      Summary:
    
       - convert sparc32 to the generic dma-direct code
    
       - use bitmap_zalloc (Christophe JAILLET)"
    
    * tag 'dma-mapping-5.16' of git://git.infradead.org/users/hch/dma-mapping:
      dma-mapping: use 'bitmap_zalloc()' when applicable
      sparc32: use DMA_DIRECT_REMAP
      sparc32: remove dma_make_coherent
      sparc32: remove the call to dma_make_coherent in arch_dma_free
    torvalds committed Nov 9, 2021
  7. Merge tag 'ovl-update-5.16' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/mszeredi/vfs
    
    Pull overlayfs updates from Miklos Szeredi:
    
     - Fix a regression introduced in the last cycle
    
     - Fix a use-after-free in the AIO path
    
     - Fix a bogus warning reported by syzbot
    
    * tag 'ovl-update-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
      ovl: fix filattr copy-up failure
      ovl: fix warning in ovl_create_real()
      ovl: fix use after free in struct ovl_aio_req
    torvalds committed Nov 9, 2021
  8. Merge tag 'fuse-update-5.16' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/mszeredi/fuse
    
    Pull fuse updates from Miklos Szeredi:
    
     - Fix a possible of deadlock in case inode writeback is in progress
       during dentry reclaim
    
     - Fix a crash in case of page stealing
    
     - Selectively invalidate cached attributes, possibly improving
       performance
    
     - Allow filesystems to disable data flushing from ->flush()
    
     - Misc fixes and cleanups
    
    * tag 'fuse-update-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (23 commits)
      fuse: fix page stealing
      virtiofs: use strscpy for copying the queue name
      fuse: add FOPEN_NOFLUSH
      fuse: only update necessary attributes
      fuse: take cache_mask into account in getattr
      fuse: add cache_mask
      fuse: move reverting attributes to fuse_change_attributes()
      fuse: simplify local variables holding writeback cache state
      fuse: cleanup code conditional on fc->writeback_cache
      fuse: fix attr version comparison in fuse_read_update_size()
      fuse: always invalidate attributes after writes
      fuse: rename fuse_write_update_size()
      fuse: don't bump attr_version in cached write
      fuse: selective attribute invalidation
      fuse: don't increment nlink in link()
      fuse: decrement nlink on overwriting rename
      fuse: simplify __fuse_write_file_get()
      fuse: move fuse_invalidate_attr() into fuse_update_ctime()
      fuse: delete redundant code
      fuse: use kmap_local_page()
      ...
    torvalds committed Nov 9, 2021
  9. Merge tag 'for-linus-5.16-ofs1' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/hubcap/linux
    
    Pull orangefs fixes from Mike Marshall:
    
     - fix sb refcount leak when allocate sb info failed (Chenyuan Mi)
    
     - fix error return code of orangefs_revalidate_lookup() (Jia-Ju Bai)
    
     - remove redundant initialization of variable ret (Colin Ian King)
    
    * tag 'for-linus-5.16-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
      orangefs: Fix sb refcount leak when allocate sb info failed.
      fs: orangefs: fix error return code of orangefs_revalidate_lookup()
      orangefs: Remove redundant initialization of variable ret
    torvalds committed Nov 9, 2021
  10. Merge tag '9p-for-5.16-rc1' of git://github.com/martinetd/linux

    Pull 9p updates from Dominique Martinet:
     "Fixes, netfs read support and checkpatch rewrite:
    
       - fix syzcaller uninitialized value usage after missing error check
    
       - add module autoloading based on transport name
    
       - convert cached reads to use netfs helpers
    
       - adjust readahead based on transport msize
    
       - and many, many checkpatch.pl warning fixes..."
    
    * tag '9p-for-5.16-rc1' of git://github.com/martinetd/linux:
      9p: fix a bunch of checkpatch warnings
      9p: set readahead and io size according to maxsize
      9p p9mode2perm: remove useless strlcpy and check sscanf return code
      9p v9fs_parse_options: replace simple_strtoul with kstrtouint
      9p: fix file headers
      fs/9p: fix indentation and Add missing a blank line after declaration
      fs/9p: fix warnings found by checkpatch.pl
      9p: fix minor indentation and codestyle
      fs/9p: cleanup: opening brace at the beginning of the next line
      9p: Convert to using the netfs helper lib to do reads and caching
      fscache_cookie_enabled: check cookie is valid before accessing it
      net/9p: autoload transport modules
      9p/net: fix missing error check in p9_check_errors
    torvalds committed Nov 9, 2021
  11. Merge branch 'akpm' (patches from Andrew)

    Merge more updates from Andrew Morton:
     "87 patches.
    
      Subsystems affected by this patch series: mm (pagecache and hugetlb),
      procfs, misc, MAINTAINERS, lib, checkpatch, binfmt, kallsyms, ramfs,
      init, codafs, nilfs2, hfs, crash_dump, signals, seq_file, fork,
      sysvfs, kcov, gdb, resource, selftests, and ipc"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (87 commits)
      ipc/ipc_sysctl.c: remove fallback for !CONFIG_PROC_SYSCTL
      ipc: check checkpoint_restore_ns_capable() to modify C/R proc files
      selftests/kselftest/runner/run_one(): allow running non-executable files
      virtio-mem: disallow mapping virtio-mem memory via /dev/mem
      kernel/resource: disallow access to exclusive system RAM regions
      kernel/resource: clean up and optimize iomem_is_exclusive()
      scripts/gdb: handle split debug for vmlinux
      kcov: replace local_irq_save() with a local_lock_t
      kcov: avoid enable+disable interrupts if !in_task()
      kcov: allocate per-CPU memory on the relevant node
      Documentation/kcov: define `ip' in the example
      Documentation/kcov: include types.h in the example
      sysv: use BUILD_BUG_ON instead of runtime check
      kernel/fork.c: unshare(): use swap() to make code cleaner
      seq_file: fix passing wrong private data
      seq_file: move seq_escape() to a header
      signal: remove duplicate include in signal.h
      crash_dump: remove duplicate include in crash_dump.h
      crash_dump: fix boolreturn.cocci warning
      hfs/hfsplus: use WARN_ON for sanity check
      ...
    torvalds committed Nov 9, 2021
  12. ipc/ipc_sysctl.c: remove fallback for !CONFIG_PROC_SYSCTL

    Compilation of ipc/ipc_sysctl.c is controlled by
    obj-$(CONFIG_SYSVIPC_SYSCTL)
    [see ipc/Makefile]
    
    And CONFIG_SYSVIPC_SYSCTL depends on SYSCTL
    [see init/Kconfig]
    
    An SYSCTL is selected by PROC_SYSCTL.
    [see fs/proc/Kconfig]
    
    Thus: #ifndef CONFIG_PROC_SYSCTL in ipc/ipc_sysctl.c is impossible, the
    fallback can be removed.
    
    Link: https://lkml.kernel.org/r/20210918145337.3369-1-manfred@colorfullife.com
    Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Acked-by: Davidlohr Bueso <dbueso@suse.de>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    manfred-colorfu authored and torvalds committed Nov 9, 2021
  13. ipc: check checkpoint_restore_ns_capable() to modify C/R proc files

    This commit removes the requirement to be root to modify sem_next_id,
    msg_next_id and shm_next_id and checks checkpoint_restore_ns_capable
    instead.
    
    Since those files are specific to the IPC namespace, there is no reason
    they should require root privileges.  This is similar to ns_last_pid,
    which also only checks checkpoint_restore_ns_capable.
    
    [akpm@linux-foundation.org: ipc/ipc_sysctl.c needs capability.h for checkpoint_restore_ns_capable()]
    
    Link: https://lkml.kernel.org/r/20210916163717.3179496-1-mclapinski@google.com
    Signed-off-by: Michal Clapinski <mclapinski@google.com>
    Reviewed-by: Davidlohr Bueso <dbueso@suse.de>
    Reviewed-by: Manfred Spraul <manfred@colorfullife.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    mclapinski authored and torvalds committed Nov 9, 2021
  14. selftests/kselftest/runner/run_one(): allow running non-executable files

    When running a test program, 'run_one()' checks if the program has the
    execution permission and fails if it doesn't.  However, it's easy to
    mistakenly lose the permissions, as some common tools like 'diff' don't
    support the permission change well[1].  Compared to that, making mistakes
    in the test program's path would only rare, as those are explicitly listed
    in 'TEST_PROGS'.  Therefore, it might make more sense to resolve the
    situation on our own and run the program.
    
    For this reason, this commit makes the test program runner function still
    print the warning message but to try parsing the interpreter of the
    program and to explicitly run it with the interpreter, in this case.
    
    [1] https://lore.kernel.org/mm-commits/YRJisBs9AunccCD4@kroah.com/
    
    Link: https://lkml.kernel.org/r/20210810164534.25902-1-sj38.park@gmail.com
    Signed-off-by: SeongJae Park <sjpark@amazon.de>
    Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    sj-aws authored and torvalds committed Nov 9, 2021
  15. virtio-mem: disallow mapping virtio-mem memory via /dev/mem

    We don't want user space to be able to map virtio-mem device memory
    directly (e.g., via /dev/mem) in order to have guarantees that in a sane
    setup we'll never accidentially access unplugged memory within the
    device-managed region of a virtio-mem device, just as required by the
    virtio-spec.
    
    As soon as the virtio-mem driver is loaded, the device region is visible
    in /proc/iomem via the parent device region.  From that point on user
    space is aware of the device region and we want to disallow mapping
    anything inside that region (where we will dynamically (un)plug memory)
    until the driver has been unloaded cleanly and e.g., another driver might
    take over.
    
    By creating our parent IORESOURCE_SYSTEM_RAM resource with
    IORESOURCE_EXCLUSIVE, we will disallow any /dev/mem access to our device
    region until the driver was unloaded cleanly and removed the parent
    region.  This will work even though only some memory blocks are actually
    currently added to Linux and appear as busy in the resource tree.
    
    So access to the region from user space is only possible
    a) if we don't load the virtio-mem driver.
    b) after unloading the virtio-mem driver cleanly.
    
    Don't build virtio-mem if access to /dev/mem cannot be restricticted -- if
    we have CONFIG_DEVMEM=y but CONFIG_STRICT_DEVMEM is not set.
    
    Link: https://lkml.kernel.org/r/20210920142856.17758-4-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Hanjun Guo <guohanjun@huawei.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Nov 9, 2021
  16. kernel/resource: disallow access to exclusive system RAM regions

    virtio-mem dynamically exposes memory inside a device memory region as
    system RAM to Linux, coordinating with the hypervisor which parts are
    actually "plugged" and consequently usable/accessible.
    
    On the one hand, the virtio-mem driver adds/removes whole memory blocks,
    creating/removing busy IORESOURCE_SYSTEM_RAM resources, on the other
    hand, it logically (un)plugs memory inside added memory blocks,
    dynamically either exposing them to the buddy or hiding them from the
    buddy and marking them PG_offline.
    
    In contrast to physical devices, like a DIMM, the virtio-mem driver is
    required to actually make use of any of the device-provided memory,
    because it performs the handshake with the hypervisor.  virtio-mem
    memory cannot simply be access via /dev/mem without a driver.
    
    There is no safe way to:
    a) Access plugged memory blocks via /dev/mem, as they might contain
       unplugged holes or might get silently unplugged by the virtio-mem
       driver and consequently turned inaccessible.
    b) Access unplugged memory blocks via /dev/mem because the virtio-mem
       driver is required to make them actually accessible first.
    
    The virtio-spec states that unplugged memory blocks MUST NOT be written,
    and only selected unplugged memory blocks MAY be read.  We want to make
    sure, this is the case in sane environments -- where the virtio-mem driver
    was loaded.
    
    We want to make sure that in a sane environment, nobody "accidentially"
    accesses unplugged memory inside the device managed region.  For example,
    a user might spot a memory region in /proc/iomem and try accessing it via
    /dev/mem via gdb or dumping it via something else.  By the time the mmap()
    happens, the memory might already have been removed by the virtio-mem
    driver silently: the mmap() would succeeed and user space might
    accidentially access unplugged memory.
    
    So once the driver was loaded and detected the device along the
    device-managed region, we just want to disallow any access via /dev/mem to
    it.
    
    In an ideal world, we would mark the whole region as busy ("owned by a
    driver") and exclude it; however, that would be wrong, as we don't really
    have actual system RAM at these ranges added to Linux ("busy system RAM").
    Instead, we want to mark such ranges as "not actual busy system RAM but
    still soft-reserved and prepared by a driver for future use."
    
    Let's teach iomem_is_exclusive() to reject access to any range with
    "IORESOURCE_SYSTEM_RAM | IORESOURCE_EXCLUSIVE", even if not busy and even
    if "iomem=relaxed" is set.  Introduce EXCLUSIVE_SYSTEM_RAM to make it
    easier for applicable drivers to depend on this setting in their Kconfig.
    
    For now, there are no applicable ranges and we'll modify virtio-mem next
    to properly set IORESOURCE_EXCLUSIVE on the parent resource container it
    creates to contain all actual busy system RAM added via
    add_memory_driver_managed().
    
    Link: https://lkml.kernel.org/r/20210920142856.17758-3-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Hanjun Guo <guohanjun@huawei.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Nov 9, 2021
Older