1. 05 Nov, 2021 1 commit
  2. 27 Oct, 2021 2 commits
  3. 07 Oct, 2021 1 commit
  4. 27 Sep, 2021 4 commits
  5. 22 Sep, 2021 1 commit
  6. 16 Sep, 2021 1 commit
  7. 15 Sep, 2021 4 commits
    • Joshua-Dickens's avatar
      HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs · 0c8fbaa5
      Joshua-Dickens authored
      Add the new PIDs to wacom_wac.c to support the new models in the Intuos series.
      
      [jkosina@suse.cz: fix changelog]
      Signed-off-by: default avatarJoshua Dickens <joshua.dickens@wacom.com>
      Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      0c8fbaa5
    • Mizuho Mori's avatar
      HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS · 67fd71ba
      Mizuho Mori authored
      Apple Magic Keyboard(JIS)'s Logical Maximum and Usage Maximum are wrong.
      
      Below is a report descriptor.
      
      0x05, 0x01,         /*  Usage Page (Desktop),                           */
      0x09, 0x06,         /*  Usage (Keyboard),                               */
      0xA1, 0x01,         /*  Collection (Application),                       */
      0x85, 0x01,         /*      Report ID (1),                              */
      0x05, 0x07,         /*      Usage Page (Keyboard),                      */
      0x15, 0x00,         /*      Logical Minimum (0),                        */
      0x25, 0x01,         /*      Logical Maximum (1),                        */
      0x19, 0xE0,         /*      Usage Minimum (KB Leftcontrol),             */
      0x29, 0xE7,         /*      Usage Maximum (KB Right GUI),               */
      0x75, 0x01,         /*      Report Size (1),                            */
      0x95, 0x08,         /*      Report Count (8),                           */
      0x81, 0x02,         /*      Input (Variable),                           */
      0x95, 0x05,         /*      Report Count (5),                           */
      0x75, 0x01,         /*      Report Size (1),                            */
      0x05, 0x08,         /*      Usage Page (LED),                           */
      0x19, 0x01,         /*      Usage Minimum (01h),                        */
      0x29, 0x05,         /*      Usage Maximum (05h),                        */
      0x91, 0x02,         /*      Output (Variable),                          */
      0x95, 0x01,         /*      Report Count (1),                           */
      0x75, 0x03,         /*      Report Size (3),                            */
      0x91, 0x03,         /*      Output (Constant, Variable),                */
      0x95, 0x08,         /*      Report Count (8),                           */
      0x75, 0x01,         /*      Report Size (1),                            */
      0x15, 0x00,         /*      Logical Minimum (0),                        */
      0x25, 0x01,         /*      Logical Maximum (1),                        */
      
      here is a report descriptor which is parsed one in kernel.
      see sys/kernel/debug/hid/<dev>/rdesc
      
      05 01 09 06 a1 01 85 01 05 07
      15 00 25 01 19 e0 29 e7 75 01
      95 08 81 02 95 05 75 01 05 08
      19 01 29 05 91 02 95 01 75 03
      91 03 95 08 75 01 15 00 25 01
      06 00 ff 09 03 81 03 95 06 75
      08 15 00 25 [65] 05 07 19 00 29
      [65] 81 00 95 01 75 01 15 00 25
      01 05 0c 09 b8 81 02 95 01 75
      01 06 01 ff 09 03 81 02 95 01
      75 06 81 03 06 02 ff 09 55 85
      55 15 00 26 ff 00 75 08 95 40
      b1 a2 c0 06 00 ff 09 14 a1 01
      85 90 05 84 75 01 95 03 15 00
      25 01 09 61 05 85 09 44 09 46
      81 02 95 05 81 01 75 08 95 01
      15 00 26 ff 00 09 65 81 02 c0
      00
      
      Position 64(Logical Maximum) and 70(Usage Maximum) are 101.
      Both should be 0xE7 to support JIS specific keys(ろ, Eisu, Kana, |) support.
      position 117 is also 101 but not related(it is Usage 65h).
      
      There are no difference of product id between JIS and ANSI.
      They are same 0x0267.
      Signed-off-by: default avatarMizuho Mori <morimolymoly@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      67fd71ba
    • F.A.Sulaiman's avatar
      HID: betop: fix slab-out-of-bounds Write in betop_probe · 1e4ce418
      F.A.Sulaiman authored
      Syzbot reported slab-out-of-bounds Write bug in hid-betopff driver.
      The problem is the driver assumes the device must have an input report but
      some malicious devices violate this assumption.
      
      So this patch checks hid_device's input is non empty before it's been used.
      
      Reported-by: syzbot+07efed3bc5a1407bd742@syzkaller.appspotmail.com
      Signed-off-by: default avatarF.A. SULAIMAN <asha.16@itfac.mrt.ac.lk>
      Reviewed-by: default avatarPavel Skripkin <paskripkin@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      1e4ce418
    • Christophe JAILLET's avatar
      HID: amd_sfh: switch from 'pci_' to 'dma_' API · e70b7033
      Christophe JAILLET authored
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below.
      
      It has been compile tested.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Acked-by: default avatarBasavaraj Natikar <Basavaraj.Natikar@amd.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e70b7033
  8. 02 Sep, 2021 26 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 83ec9169
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - Fix in i2c-hid driver for Elan touchpad quirk regression (Jim
         Broadus)
      
       - Quirk preventing ASUS Claymore from accidentally suspending whole
         system (Luke D. Jones)
      
       - Updates to the existing FW reporting mechanism, MP2 FW status checks,
         adding proper power management support for amd-sfh (Basavaraj
         Natikar)
      
       - Regression fix for an issue in HID core that got uncovered by recent
         USB core cleanup leading to issues when transfer_buffer_length is not
         in line with wLength (Alan Stern)
      
       - Memory leak fix in USB HID core (Anirudh Rayabharam)
      
       - Improvement of stylus battery reporting (Dmitry Torokhov)
      
       - Power management improvement for Goodix driver (Douglas Anderson)
      
       - High-resolution scroll support for Magicmouse devices (José Expósito)
      
       - Support for GHLive PS4 dongles (Daniel Nguyen)
      
       - Support proper EV_MSC emissions to hid-apple (Vincent Lefevre)
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (31 commits)
        HID: usbhid: Simplify code in hid_submit_ctrl()
        HID: usbhid: Fix warning caused by 0-length input reports
        HID: usbhid: Fix flood of "control queue full" messages
        HID: sony: Fix more ShanWan clone gamepads to not rumble when plugged in.
        HID: sony: support for the ghlive ps4 dongles
        HID: thrustmaster: clean up Makefile and adapt quirks
        HID: i2c-hid: Fix Elan touchpad regression
        HID: asus: Prevent Claymore sending suspend event
        HID: amd_sfh: Add dyndbg prints for debugging
        HID: amd_sfh: Add support for PM suspend and resume
        HID: amd_sfh: Move hid probe after sensor is enabled
        HID: amd_sfh: Add command response to check command status
        HID: amd_sfh: Fix period data field to enable sensor
        HID: logitech-hidpp: battery: provide CAPACITY property for newer devices
        HID: thrustmaster: Fix memory leak in thrustmaster_interrupts()
        HID: thrustmaster: Fix memory leak in remove
        HID: thrustmaster: Fix memory leaks in probe
        HID: elo: update the reference count of the usb device structure
        HID: logitech-hidpp: Use 'atomic_inc_return' instead of hand-writing it
        HID: apple: Add missing scan code event for keys handled by hid-apple
        ...
      83ec9169
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c7930112
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v5.15 kernel cycle, no
        core changes at all this time, just driver work!
      
        New drivers:
      
         - New subdriver for Intel Keem Bay (an ARM-based SoC)
      
         - New subdriver for Qualcomm MDM9607 and SM6115
      
         - New subdriver for ST Microelectronics STM32MP135
      
         - New subdriver for Freescale i.MX8ULP ("Ultra Low Power")
      
         - New subdriver for Ingenic X2100
      
         - Support for Qualcomm PMC8180, PMC8180C, SA8155p-adp PMIC GPIO
      
         - Support Samsung Exynos850
      
         - Support Renesas RZ/G2L
      
        Enhancements:
      
         - A major refactoring of the Rockchip driver, breaking part of it out
           to a separate GPIO driver in drivers/gpio
      
         - Pin bias support on Renesas r8a77995
      
         - Add SCI pins support to Ingenic JZ4755 and JZ4760
      
         - Mediatek device tree bindings converted to YAML"
      
      * tag 'pinctrl-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (53 commits)
        pinctrl: renesas: Add RZ/G2L pin and gpio controller driver
        pinctrl: samsung: Add Exynos850 SoC specific data
        dt-bindings: pinctrl: samsung: Add Exynos850 doc
        MAINTAINERS: Add maintainers for amd-pinctrl driver
        pinctrl: Add Intel Keem Bay pinctrl driver
        dt-bindings: pinctrl: Add bindings for Intel Keembay pinctrl driver
        pinctrl: zynqmp: Drop pinctrl_unregister for devm_ registered device
        dt-bindings: pinctrl: qcom-pmic-gpio: Remove the interrupts property
        dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
        dt-bindings: pinctrl: mt8195: Use real world values for drive-strength arguments
        dt-bindings: mediatek: convert pinctrl to yaml
        arm: dts: mt8183: Move pinfunc to include/dt-bindings/pinctrl
        arm: dts: mt8135: Move pinfunc to include/dt-bindings/pinctrl
        pinctrl: ingenic: Add .max_register in regmap_config
        pinctrl: ingenic: Fix bias config for X2000(E)
        pinctrl: ingenic: Fix incorrect pull up/down info
        pinctrl: Ingenic: Add pinctrl driver for X2100.
        dt-bindings: pinctrl: Add bindings for Ingenic X2100.
        pinctrl: Ingenic: Add SSI pins support for JZ4755 and JZ4760.
        pinctrl: Ingenic: Improve the code.
        ...
      c7930112
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 75d6e7d9
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "Nothing changed in the clk framework core this time around. We did get
        some updates to the basic clk types to use determine_rate for the
        divider type and add a power of two fractional divider flag though.
      
        Otherwise, this is a collection of clk driver updates. More than half
        the diffstat is in the Qualcomm clk driver where we add a bunch of
        data to describe clks on various SoCs and fix bugs. The other big new
        thing in here is the Mediatek MT8192 clk driver. That's been under
        review for a while and it's nice to see that it's finally upstream.
      
        Beyond that it's the usual set of minor fixes and tweaks to clk
        drivers. There are some non-clk driver bits in here which have all
        been acked by the respective maintainers.
      
        New Drivers:
         - Support video, gpu, display clks on qcom sc7280 SoCs
         - GCC clks on qcom MSM8953, SM4250/6115, and SM6350 SoCs
         - Multimedia clks (MMCC) on qcom MSM8994/MSM8992
         - RPMh clks on qcom SM6350 SoCs
         - Support for Mediatek MT8192 SoCs
         - Add display (DU and DSI) clocks on Renesas R-Car V3U
         - Add I2C, DMAC, USB, sound (SSIF-2), GPIO, CANFD, and ADC clocks and
           resets on Renesas RZ/G2L
      
        Updates:
         - Support the SD/OE pin on IDT VersaClock 5 and 6 clock generators
         - Add power of two flag to fractional divider clk type
         - Migrate some clk drivers to clk_divider_ops.determine_rate
         - Migrate to clk_parent_data in gcc-sdm660
         - Fix CLKOUT clocks on i.MX8MM and i.MX8MN by using imx_clk_hw_mux2
         - Switch from .round_rate to .determine_rate in clk-divider-gate
         - Fix clock tree update for TF-A controlled clocks for all i.MX8M
         - Add missing M7 core clock for i.MX8MN
         - YAML conversion of rk3399 clock controller binding
         - Removal of GRF dependency for the rk3328/rk3036 pll types
         - Drop CLK_IS_CRITICAL flag from Tegra fuse clk
         - Make CLK_R9A06G032 Kconfig symbol invisible
         - Convert various DT bindings to YAML"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (128 commits)
        dt-bindings: clock: samsung: fix header path in example
        clk: tegra: fix old-style declaration
        clk: qcom: Add SM6350 GCC driver
        MAINTAINERS: clock: include S3C and S5P in Samsung SoC clock entry
        dt-bindings: clock: samsung: convert S5Pv210 AudSS to dtschema
        dt-bindings: clock: samsung: convert Exynos AudSS to dtschema
        dt-bindings: clock: samsung: convert Exynos4 to dtschema
        dt-bindings: clock: samsung: convert Exynos3250 to dtschema
        dt-bindings: clock: samsung: convert Exynos542x to dtschema
        dt-bindings: clock: samsung: add bindings for Exynos external clock
        dt-bindings: clock: samsung: convert Exynos5250 to dtschema
        clk: vc5: Add properties for configuring SD/OE behavior
        clk: vc5: Use dev_err_probe
        dt-bindings: clk: vc5: Add properties for configuring the SD/OE pin
        dt-bindings: clock: brcm,iproc-clocks: fix armpll properties
        clk: zynqmp: Fix kernel-doc format
        clk: at91: clk-generated: Limit the requested rate to our range
        clk: ralink: avoid to set 'CLK_IS_CRITICAL' flag for gates
        clk: zynqmp: Fix a memory leak
        clk: zynqmp: Check the return type
        ...
      75d6e7d9
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v5.15' of git://git.linaro.org/landing-teams/working/fujitsu/integration · a180eab0
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - mtk:
           - added support for mt8192 and mt8195
           - minor fix regarding address shift
      
       - qcom:
           - added compatibles for MSM8953, SM6350 and SM6115
           - enable loading IPCC as a module
      
       - misc:
           - change Altera maintainer
           - fix sti kernel-doc warnings
      
      * tag 'mailbox-v5.15' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: cmdq: add multi-gce clocks support for mt8195
        mailbox: cmdq: add mediatek mailbox support for mt8195
        dt-bindings: gce: add gce header file for mt8195
        dt-bindings: mailbox: add definition for mt8195
        mailbox: qcom-apcs-ipc: Add compatible for MSM8953 SoC
        dt-bindings: mailbox: Add compatible for the MSM8953
        dt-bindings: mailbox: qcom-ipcc: Add compatible for SM6350
        mailbox: qcom: Add support for SM6115 APCS IPC
        dt-bindings: mailbox: qcom: Add SM6115 APCS compatible
        soc: mediatek: cmdq: add address shift in jump
        mailbox: cmdq: add mt8192 support
        dt-binding: gce: add gce header file for mt8192
        MAINTAINERS: Replace Ley Foon Tan as Altera Mailbox maintainer
        mailbox: qcom-ipcc: Enable loading QCOM_IPCC as a module
        mailbox: sti: quieten kernel-doc warnings
      a180eab0
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.15-1' of... · 7ba88a2a
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
       "Highlights:
      
         - Move all the Intel drivers into their own subdir(s) (mostly Kate's
           work)
      
         - New meraki-mx100 platform driver
      
         - Asus WMI driver enhancements, including support for
           /sys/firmware/acpi/platform_profile
      
         - New BIOS SAR driver for Intel M.2 WWAM modems
      
         - Alder Lake support for the Intel PMC driver
      
         - A whole bunch of cleanups + fixes all over the place"
      
      * tag 'platform-drivers-x86-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (65 commits)
        platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call
        platform/x86: dell-smbios-wmi: Avoid false-positive memcpy() warning
        platform/x86: ISST: use semi-colons instead of commas
        platform/x86: asus-wmi: Fix "unsigned 'retval' is never less than zero" smatch warning
        platform/x86: asus-wmi: Delete impossible condition
        platform/x86: hp_accel: Convert to be a platform driver
        platform/x86: hp_accel: Remove _INI method call
        platform/mellanox: mlxbf-pmc: fix kernel-doc notation
        platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH
        platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core
        platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake
        platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver
        platform/x86: intel-wmi-thunderbolt: Move to intel sub-directory
        platform/x86: intel-wmi-sbl-fw-update: Move to intel sub-directory
        platform/x86: intel-vbtn: Move to intel sub-directory
        platform/x86: intel_oaktrail: Move to intel sub-directory
        platform/x86: intel_int0002_vgpio: Move to intel sub-directory
        platform/x86: intel-hid: Move to intel sub-directory
        platform/x86: intel_atomisp2: Move to intel sub-directory
        platform/x86: intel_speed_select_if: Move to intel sub-directory
        ...
      7ba88a2a
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.15-rc1' of git://github.com/awilliam/linux-vfio · 89b6b8cd
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Fix dma-valid return WAITED implementation (Anthony Yznaga)
      
       - SPDX license cleanups (Cai Huoqing)
      
       - Split vfio-pci-core from vfio-pci and enhance PCI driver matching to
         support future vendor provided vfio-pci variants (Yishai Hadas, Max
         Gurtovoy, Jason Gunthorpe)
      
       - Replace duplicated reflck with core support for managing first open,
         last close, and device sets (Jason Gunthorpe, Max Gurtovoy, Yishai
         Hadas)
      
       - Fix non-modular mdev support and don't nag about request callback
         support (Christoph Hellwig)
      
       - Add semaphore to protect instruction intercept handler and replace
         open-coded locks in vfio-ap driver (Tony Krowiak)
      
       - Convert vfio-ap to vfio_register_group_dev() API (Jason Gunthorpe)
      
      * tag 'vfio-v5.15-rc1' of git://github.com/awilliam/linux-vfio: (37 commits)
        vfio/pci: Introduce vfio_pci_core.ko
        vfio: Use kconfig if XX/endif blocks instead of repeating 'depends on'
        vfio: Use select for eventfd
        PCI / VFIO: Add 'override_only' support for VFIO PCI sub system
        PCI: Add 'override_only' field to struct pci_device_id
        vfio/pci: Move module parameters to vfio_pci.c
        vfio/pci: Move igd initialization to vfio_pci.c
        vfio/pci: Split the pci_driver code out of vfio_pci_core.c
        vfio/pci: Include vfio header in vfio_pci_core.h
        vfio/pci: Rename ops functions to fit core namings
        vfio/pci: Rename vfio_pci_device to vfio_pci_core_device
        vfio/pci: Rename vfio_pci_private.h to vfio_pci_core.h
        vfio/pci: Rename vfio_pci.c to vfio_pci_core.c
        vfio/ap_ops: Convert to use vfio_register_group_dev()
        s390/vfio-ap: replace open coded locks for VFIO_GROUP_NOTIFY_SET_KVM notification
        s390/vfio-ap: r/w lock for PQAP interception handler function pointer
        vfio/type1: Fix vfio_find_dma_valid return
        vfio-pci/zdev: Remove repeated verbose license text
        vfio: platform: reset: Convert to SPDX identifier
        vfio: Remove struct vfio_device_ops open/release
        ...
      89b6b8cd
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 9ae5fceb
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - some small cleanups
      
       - a fix for a bug when running as Xen PV guest which could result in
         not all memory being transferred in case of a migration of the guest
      
       - a small series for getting rid of code for supporting very old Xen
         hypervisor versions nobody should be using since many years now
      
       - a series for hardening the Xen block frontend driver
      
       - a fix for Xen PV boot code issuing warning messages due to a stray
         preempt_disable() on the non-boot processors
      
      * tag 'for-linus-5.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: remove stray preempt_disable() from PV AP startup code
        xen/pcifront: Removed unnecessary __ref annotation
        x86: xen: platform-pci-unplug: use pr_err() and pr_warn() instead of raw printk()
        drivers/xen/xenbus/xenbus_client.c: fix bugon.cocci warnings
        xen/blkfront: don't trust the backend response data blindly
        xen/blkfront: don't take local copy of a request from the ring page
        xen/blkfront: read response from backend only once
        xen: assume XENFEAT_gnttab_map_avail_bits being set for pv guests
        xen: assume XENFEAT_mmu_pt_update_preserve_ad being set for pv guests
        xen: check required Xen features
        xen: fix setting of max_pfn in shared_info
      9ae5fceb
    • Linus Torvalds's avatar
      Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · a2d616b9
      Linus Torvalds authored
      Pull parisc architecture updates from Helge Deller:
      
       - Fix a kernel crash when a signal is delivered to bad userspace stack
      
       - Fix fall-through warnings in math-emu code
      
       - Increase size of gcc stack frame check
      
       - Switch coding from 'pci_' to 'dma_' API
      
       - Make struct parisc_driver::remove() return void
      
       - Some parisc related Makefile changes
      
       - Minor cleanups, e.g. change to octal permissions, fix macro
         collisions, fix PMD_ORDER collision, replace spaces with tabs
      
      * tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: math-emu: Fix fall-through warnings
        parisc: fix crash with signals and alloca
        parisc: Fix compile failure when building 64-bit kernel natively
        parisc: ccio-dma.c: Added tab instead of spaces
        parisc/parport_gsc: switch from 'pci_' to 'dma_' API
        parisc: move core-y in arch/parisc/Makefile to arch/parisc/Kbuild
        parisc: switch from 'pci_' to 'dma_' API
        parisc: Make struct parisc_driver::remove() return void
        parisc: remove unused arch/parisc/boot/install.sh and its phony target
        parisc: Rename PMD_ORDER to PMD_TABLE_ORDER
        parisc: math-emu: Avoid "fmt" macro collision
        parisc: Increase size of gcc stack frame check
        parisc: Replace symbolic permissions with octal permissions
      a2d616b9
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20210902' of git://github.com/jcmvbkbc/linux-xtensa · b5d6d263
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - fix kconfig unmet dependency warning for HAVE_FUTEX_CMPXCHG
      
       - add fairness to handling IRQs of the same priority
      
       - fix pointer usage before NULL check in ISS console driver
      
       - build system cleanups
      
      * tag 'xtensa-20210902' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: move core-y in arch/xtensa/Makefile to arch/xtensa/Kbuild
        xtensa: build platform directories unconditionally
        xtensa: do not build variants directory
        xtensa: remove unneeded exports
        xtensa: ISS: don't use string pointer before NULL check
        xtensa: add fairness to IRQ handling
        xtensa: fix kconfig unmet dependency warning for HAVE_FUTEX_CMPXCHG
      b5d6d263
    • Linus Torvalds's avatar
      Merge tag 'locking-debug-2021-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · aa829778
      Linus Torvalds authored
      Pull memory model updates from Ingo Molnar:
       "LKMM updates:
      
         - Update documentation and code example
      
        KCSAN updates:
      
         - Introduce CONFIG_KCSAN_STRICT (which RCU uses)
      
         - Optimize use of get_ctx() by kcsan_found_watchpoint()
      
         - Rework atomic.h into permissive.h
      
         - Add the ability to ignore writes that change only one bit of a
           given data-racy variable.
      
         - Improve comments"
      
      * tag 'locking-debug-2021-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/memory-model: Document data_race(READ_ONCE())
        tools/memory-model: Heuristics using data_race() must handle all values
        tools/memory-model: Add example for heuristic lockless reads
        tools/memory-model: Make read_foo_diagnostic() more clearly diagnostic
        kcsan: Make strict mode imply interruptible watchers
        kcsan: permissive: Ignore data-racy 1-bit value changes
        kcsan: Print if strict or non-strict during init
        kcsan: Rework atomic.h into permissive.h
        kcsan: Reduce get_ctx() uses in kcsan_found_watchpoint()
        kcsan: Introduce CONFIG_KCSAN_STRICT
        kcsan: Remove CONFIG_KCSAN_DEBUG
        kcsan: Improve some Kconfig comments
      aa829778
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · aef4892a
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
      
       - Limit the allowed hash algorithms when writing security.ima xattrs or
         verifying them, based on the IMA policy and the configured hash
         algorithms.
      
       - Return the calculated "critical data" measurement hash and size to
         avoid code duplication. (Preparatory change for a proposed LSM.)
      
       - and a single patch to address a compiler warning.
      
      * tag 'integrity-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        IMA: reject unknown hash algorithms in ima_get_hash_algo
        IMA: prevent SETXATTR_CHECK policy rules with unavailable algorithms
        IMA: introduce a new policy option func=SETXATTR_CHECK
        IMA: add a policy option to restrict xattr hash algorithms on appraisal
        IMA: add support to restrict the hash algorithms used for file appraisal
        IMA: block writes of the security.ima xattr with unsupported algorithms
        IMA: remove the dependency on CRYPTO_MD5
        ima: Add digest and digest_len params to the functions to measure a buffer
        ima: Return int in the functions to measure a buffer
        ima: Introduce ima_get_current_hash_algo()
        IMA: remove -Wmissing-prototypes warning
      aef4892a
    • Linus Torvalds's avatar
      Merge tag 'hardening-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b55060d7
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
      
       - Expand lib/test_stackinit to include more initialization styles
      
       - Improve Kconfig for CLang's auto-var-init feature
      
       - Introduce support for GCC's zero-call-used-regs feature
      
      * tag 'hardening-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        lib/test_stackinit: Add assigned initializers
        lib/test_stackinit: Allow building stand-alone
        lib/test_stackinit: Fix static initializer test
        hardening: Clarify Kconfig text for auto-var-init
        hardening: Introduce CONFIG_ZERO_CALL_USED_REGS
      b55060d7
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.15-rc1' of... · c815f04b
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "This KUnit update for Linux 5.15-rc1 adds new features and tests:
      
        Tool:
      
         - support for '--kernel_args' to allow setting module params
      
         - support for '--raw_output' option to show just the kunit output
           during make
      
        Tests:
      
         - new KUnit tests for checksums and timestamps
      
         - Print test statistics on failure
      
         - Integrates UBSAN into the KUnit testing framework. It fails KUnit
           tests whenever it reports undefined behavior"
      
      * tag 'linux-kselftest-kunit-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: Print test statistics on failure
        kunit: tool: make --raw_output support only showing kunit output
        kunit: tool: add --kernel_args to allow setting module params
        kunit: ubsan integration
        fat: Add KUnit tests for checksums and timestamps
      c815f04b
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 612b23f2
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Robustness and debug improvements:
      
         - add check for memory add/cap ordering
      
         - add missing debug code to memblock_add_node()"
      
      * tag 'memblock-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock: Check memory add/cap ordering
        memblock: Add missing debug code to memblock_add_node()
      612b23f2
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.15' of git://git.infradead.org/users/hch/dma-mapping · 4a3bb420
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - fix debugfs initialization order (Anthony Iliopoulos)
      
       - use memory_intersects() directly (Kefeng Wang)
      
       - allow to return specific errors from ->map_sg (Logan Gunthorpe,
         Martin Oliveira)
      
       - turn the dma_map_sg return value into an unsigned int (me)
      
       - provide a common global coherent pool іmplementation (me)
      
      * tag 'dma-mapping-5.15' of git://git.infradead.org/users/hch/dma-mapping: (31 commits)
        hexagon: use the generic global coherent pool
        dma-mapping: make the global coherent pool conditional
        dma-mapping: add a dma_init_global_coherent helper
        dma-mapping: simplify dma_init_coherent_memory
        dma-mapping: allow using the global coherent pool for !ARM
        ARM/nommu: use the generic dma-direct code for non-coherent devices
        dma-direct: add support for dma_coherent_default_memory
        dma-mapping: return an unsigned int from dma_map_sg{,_attrs}
        dma-mapping: disallow .map_sg operations from returning zero on error
        dma-mapping: return error code from dma_dummy_map_sg()
        x86/amd_gart: don't set failed sg dma_address to DMA_MAPPING_ERROR
        x86/amd_gart: return error code from gart_map_sg()
        xen: swiotlb: return error code from xen_swiotlb_map_sg()
        parisc: return error code from .map_sg() ops
        sparc/iommu: don't set failed sg dma_address to DMA_MAPPING_ERROR
        sparc/iommu: return error codes from .map_sg() ops
        s390/pci: don't set failed sg dma_address to DMA_MAPPING_ERROR
        s390/pci: return error code from s390_dma_map_sg()
        powerpc/iommu: don't set failed sg dma_address to DMA_MAPPING_ERROR
        powerpc/iommu: return error code from .map_sg() ops
        ...
      4a3bb420
    • Linus Torvalds's avatar
      Merge tag 'configfs-5.15' of git://git.infradead.org/users/hch/configfs · eceae1e7
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
      
       - fix a race in configfs_lookup (Sishuai Gong)
      
       - minor cleanups (me)
      
      * tag 'configfs-5.15' of git://git.infradead.org/users/hch/configfs:
        configfs: fix a race in configfs_lookup()
        configfs: fold configfs_attach_attr into configfs_lookup
        configfs: simplify the configfs_dirent_is_ready
        configfs: return -ENAMETOOLONG earlier in configfs_lookup
      eceae1e7
    • Linus Torvalds's avatar
      Merge tag 'dlm-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 265113f7
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set includes a number of minor fixes and cleanups related to the
        networking changes in the last release.
      
        A patch to delay ack messages reduces network traffic significantly"
      
      * tag 'dlm-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: avoid comms shutdown delay in release_lockspace
        fs: dlm: fix return -EINTR on recovery stopped
        fs: dlm: implement delayed ack handling
        fs: dlm: move receive loop into receive handler
        fs: dlm: fix multiple empty writequeue alloc
        fs: dlm: generic connect func
        fs: dlm: auto load sctp module
        fs: dlm: introduce generic listen
        fs: dlm: move to static proto ops
        fs: dlm: introduce con_next_wq helper
        fs: dlm: cleanup and remove _send_rcom
        fs: dlm: clear CF_APP_LIMITED on close
        fs: dlm: fix typo in tlv prefix
        fs: dlm: use READ_ONCE for config var
        fs: dlm: use sk->sk_socket instead of con->sock
      265113f7
    • Linus Torvalds's avatar
      d_path: make 'prepend()' fill up the buffer exactly on overflow · b0cfcdd9
      Linus Torvalds authored
      Instead of just marking the buffer as having overflowed, fill it up as
      much as we can.  That will allow the overflow case to then return
      whatever truncated result if it wants to.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0cfcdd9
    • Linus Torvalds's avatar
      mm: don't allow oversized kvmalloc() calls · 7661809d
      Linus Torvalds authored
      'kvmalloc()' is a convenience function for people who want to do a
      kmalloc() but fall back on vmalloc() if there aren't enough physically
      contiguous pages, or if the allocation is larger than what kmalloc()
      supports.
      
      However, let's make sure it doesn't get _too_ easy to do crazy things
      with it.  In particular, don't allow big allocations that could be due
      to integer overflow or underflow.  So make sure the allocation size fits
      in an 'int', to protect against trivial integer conversion issues.
      Acked-by: default avatarWilly Tarreau <w@1wt.eu>
      Cc: Kees Cook <keescook@chromium.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7661809d
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 111c1aa8
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "In addition to some ext4 bug fixes and cleanups, this cycle we add the
        orphan_file feature, which eliminates bottlenecks when doing a large
        number of parallel truncates and file deletions, and move the discard
        operation out of the jbd2 commit thread when using the discard mount
        option, to better support devices with slow discard operations"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: make the updating inode data procedure atomic
        ext4: remove an unnecessary if statement in __ext4_get_inode_loc()
        ext4: move inode eio simulation behind io completeion
        ext4: Improve scalability of ext4 orphan file handling
        ext4: Orphan file documentation
        ext4: Speedup ext4 orphan inode handling
        ext4: Move orphan inode handling into a separate file
        ext4: Support for checksumming from journal triggers
        ext4: fix race writing to an inline_data file while its xattrs are changing
        jbd2: add sparse annotations for add_transaction_credits()
        ext4: fix sparse warnings
        ext4: Make sure quota files are not grabbed accidentally
        ext4: fix e2fsprogs checksum failure for mounted filesystem
        ext4: if zeroout fails fall back to splitting the extent node
        ext4: reduce arguments of ext4_fc_add_dentry_tlv
        ext4: flush background discard kwork when retry allocation
        ext4: get discard out of jbd2 commit kthread contex
        ext4: remove the repeated comment of ext4_trim_all_free
        ext4: add new helper interface ext4_try_to_trim_range()
        ext4: remove the 'group' parameter of ext4_trim_extent
        ...
      111c1aa8
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 815409a1
      Linus Torvalds authored
      Pull overlayfs update from Miklos Szeredi:
      
       - Copy up immutable/append/sync/noatime attributes (Amir Goldstein)
      
       - Improve performance by enabling RCU lookup.
      
       - Misc fixes and improvements
      
      The reason this touches so many files is that the ->get_acl() method now
      gets a "bool rcu" argument.  The ->get_acl() API was updated based on
      comments from Al and Linus:
      
      Link: https://lore.kernel.org/linux-fsdevel/CAJfpeguQxpd6Wgc0Jd3ks77zcsAv_bn0q17L3VNnnmPKu11t8A@mail.gmail.com/
      
      * tag 'ovl-update-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: enable RCU'd ->get_acl()
        vfs: add rcu argument to ->get_acl() callback
        ovl: fix BUG_ON() in may_delete() when called from ovl_cleanup()
        ovl: use kvalloc in xattr copy-up
        ovl: update ctime when changing fileattr
        ovl: skip checking lower file's i_writecount on truncate
        ovl: relax lookup error on mismatch origin ftype
        ovl: do not set overlay.opaque for new directories
        ovl: add ovl_allow_offline_changes() helper
        ovl: disable decoding null uuid with redirect_dir
        ovl: consistent behavior for immutable/append-only inodes
        ovl: copy up sync/noatime fileattr flags
        ovl: pass ovl_fs to ovl_check_setxattr()
        fs: add generic helper for filling statx attribute flags
      815409a1
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 412106c2
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "In this cycle, direct I/O and fsdax support for uncompressed files are
        now added in order to avoid double-caching for loop device and VM
        container use cases. All uncompressed cases are now turned into iomap
        infrastructure, which looks much simpler and cleaner.
      
        In addition, fiemap support is added for both (un)compressed files by
        using iomap infrastructure as well so end users can easily get file
        distribution. We've also added chunk-based uncompressed files support
        for data deduplication as the next step of VM container use cases.
      
        Summary:
      
         - support direct I/O for all uncompressed files
      
         - support fsdax for non-tailpacking regular files
      
         - use iomap infrastructure for all uncompressed cases
      
         - support fiemap for both (un)compressed files
      
         - introduce chunk-based files for chunk deduplication
      
         - some cleanups"
      
      * tag 'erofs-for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: fix double free of 'copied'
        erofs: support reading chunk-based uncompressed files
        erofs: introduce chunk-based file on-disk format
        erofs: add fiemap support with iomap
        erofs: add support for the full decompressed length
        erofs: remove the mapping parameter from erofs_try_to_free_cached_page()
        erofs: directly use wrapper erofs_page_is_managed() when shrinking
        erofs: convert all uncompressed cases to iomap
        erofs: dax support for non-tailpacking regular file
        erofs: iomap support for non-tailpacking DIO
      412106c2
    • Linus Torvalds's avatar
      Merge tag 'fscache-next-20210829' of... · 89594c74
      Linus Torvalds authored
      Merge tag 'fscache-next-20210829' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      Pull fscache updates from David Howells:
       "Preparatory work for the fscache rewrite that's being worked on and
        fix some bugs. These include:
      
         - Always select netfs stats when enabling fscache stats since they're
           displayed through the same procfile.
      
         - Add a cookie debug ID that can be used in tracepoints instead of a
           pointer and cache it in the netfs_cache_resources struct rather
           than in the netfs_read_request struct to make it more available.
      
         - Use file_inode() in cachefiles rather than dereferencing
           file->f_inode directly.
      
         - Provide a procfile to display fscache cookies.
      
         - Remove the fscache and cachefiles histogram procfiles.
      
         - Remove the fscache object list procfile.
      
         - Avoid using %p in fscache and cachefiles as the value is hashed and
           not comparable to the register dump in an oops trace.
      
         - Fix the cookie hash function to actually achieve useful dispersion.
      
         - Fix fscache_cookie_put() so that it doesn't dereference the cookie
           pointer in the tracepoint after the refcount has been decremented
           (we're only allowed to do that if we decremented it to zero).
      
         - Use refcount_t rather than atomic_t for the fscache_cookie
           refcount"
      
      * tag 'fscache-next-20210829' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        fscache: Use refcount_t for the cookie refcount instead of atomic_t
        fscache: Fix fscache_cookie_put() to not deref after dec
        fscache: Fix cookie key hashing
        cachefiles: Change %p in format strings to something else
        fscache: Change %p in format strings to something else
        fscache: Remove the object list procfile
        fscache, cachefiles: Remove the histogram stuff
        fscache: Procfile to display cookies
        fscache: Add a cookie debug ID and use that in traces
        cachefiles: Use file_inode() rather than accessing ->f_inode
        netfs: Move cookie debug ID to struct netfs_cache_resources
        fscache: Select netfs stats if fscache stats are enabled
      89594c74
    • Luca Coelho's avatar
      iwlwifi: mvm: add rtnl_lock() in iwl_mvm_start_get_nvm() · 75ae663d
      Luca Coelho authored
      Due to a rebase damage, we lost the rtnl_lock() when the patch was
      sent out.  This causes an RTNL imbalance and failed assertions, due to
      missing RTNL protection, for instance:
      
        RTNL: assertion failed at net/wireless/reg.c (4025)
        WARNING: CPU: 60 PID: 1720 at net/wireless/reg.c:4025 regulatory_set_wiphy_regd_sync+0x7f/0x90 [cfg80211]
        Call Trace:
         iwl_mvm_init_mcc+0x170/0x190 [iwlmvm]
         iwl_op_mode_mvm_start+0x824/0xa60 [iwlmvm]
         iwl_opmode_register+0xd0/0x130 [iwlwifi]
         init_module+0x23/0x1000 [iwlmvm]
      
      Fix this by adding the missing rtnl_lock() back to the code.
      
      Fixes: eb09ae93 ("iwlwifi: mvm: load regdomain at INIT stage")
      Link: https://lore.kernel.org/lkml/CAHk-=wjB_zBwZ+WR9LOpvgjvaQn=cqryoKigod8QnZs=iYGEhA@mail.gmail.com/Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      75ae663d
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.15-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 90c90cda
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "There's a lot in this cycle.
      
        Starting with bug fixes: To avoid livelocks between the logging code
        and the quota code, we've disabled the ability of quotaoff to turn off
        quota accounting. (Admins can still disable quota enforcement, but
        truly turning off accounting requires a remount.) We've tried to do
        this in a careful enough way that there shouldn't be any user visible
        effects aside from quotaoff no longer randomly hanging the system.
      
        We've also fixed some bugs in runtime log behavior that could trip up
        log recovery if (otherwise unrelated) transactions manage to start and
        commit concurrently; some bugs in the GETFSMAP ioctl where we would
        incorrectly restrict the range of records output if the two xfs
        devices are of different sizes; a bug that resulted in fallocate
        funshare failing unnecessarily; and broken behavior in the xfs inode
        cache when DONTCACHE is in play.
      
        As for new features: we now batch inode inactivations in percpu
        background threads, which sharply decreases frontend thread wait time
        when performing file deletions and should improve overall directory
        tree deletion times. This eliminates both the problem where closing an
        unlinked file (especially on a frozen fs) can stall for a long time,
        and should also ease complaints about direct reclaim bogging down on
        unlinked file cleanup.
      
        Starting with this release, we've enabled pipelining of the XFS log.
        On workloads with high rates of metadata updates to different shards
        of the filesystem, multiple threads can be used to format committed
        log updates into log checkpoints.
      
        Lastly, with this release, two new features have graduated to
        supported status: inode btree counters (for faster mounts), and
        support for dates beyond Y2038. Expect these to be enabled by default
        in a future release of xfsprogs.
      
        Summary:
      
         - Fix a potential log livelock on busy filesystems when there's so
           much work going on that we can't finish a quotaoff before filling
           up the log by removing the ability to disable quota accounting.
      
         - Introduce the ability to use per-CPU data structures in XFS so that
           we can do a better job of maintaining CPU locality for certain
           operations.
      
         - Defer inode inactivation work to per-CPU lists, which will help us
           batch that processing. Deletions of large sparse files will
           *appear* to run faster, but all that means is that we've moved the
           work to the backend.
      
         - Drop the EXPERIMENTAL warnings from the y2038+ support and the
           inode btree counters, since it's been nearly a year and no
           complaints have come in.
      
         - Remove more of our bespoke kmem* variants in favor of using the
           standard Linux calls.
      
         - Prepare for the addition of log incompat features in upcoming
           cycles by actually adding code to support this.
      
         - Small cleanups of the xattr code in preparation for landing support
           for full logging of extended attribute updates in a future cycle.
      
         - Replace the various log shutdown state and flag code all over xfs
           with a single atomic bit flag.
      
         - Fix a serious log recovery bug where log item replay can be skipped
           based on the start lsn of a transaction even though the transaction
           commit lsn is the key data point for that by enforcing start lsns
           to appear in the log in the same order as commit lsns.
      
         - Enable pipelining in the code that pushes log items to disk.
      
         - Drop ->writepage.
      
         - Fix some bugs in GETFSMAP where the last fsmap record reported for
           a device could extend beyond the end of the device, and a separate
           bug where query keys for one device could be applied to another.
      
         - Don't let GETFSMAP query functions edit their input parameters.
      
         - Small cleanups to the scrub code's handling of perag structures.
      
         - Small cleanups to the incore inode tree walk code.
      
         - Constify btree function parameters that aren't changed, so that
           there will never again be confusion about range query functions
           changing their input parameters.
      
         - Standardize the format and names of tracepoint data attributes.
      
         - Clean up all the mount state and feature flags to use wrapped
           bitset functions instead of inconsistently open-coded flag checks.
      
         - Fix some confusion between xfs_buf hash table key variable vs.
           block number.
      
         - Fix a mis-interaction with iomap where we reported shared delalloc
           cow fork extents to iomap, which would cause the iomap unshare
           operation to return IO errors unnecessarily.
      
         - Fix DONTCACHE behavior"
      
      * tag 'xfs-5.15-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (103 commits)
        xfs: fix I_DONTCACHE
        xfs: only set IOMAP_F_SHARED when providing a srcmap to a write
        xfs: fix perag structure refcounting error when scrub fails
        xfs: rename buffer cache index variable b_bn
        xfs: convert bp->b_bn references to xfs_buf_daddr()
        xfs: introduce xfs_buf_daddr()
        xfs: kill xfs_sb_version_has_v3inode()
        xfs: introduce xfs_sb_is_v5 helper
        xfs: remove unused xfs_sb_version_has wrappers
        xfs: convert xfs_sb_version_has checks to use mount features
        xfs: convert scrub to use mount-based feature checks
        xfs: open code sb verifier feature checks
        xfs: convert xfs_fs_geometry to use mount feature checks
        xfs: replace XFS_FORCED_SHUTDOWN with xfs_is_shutdown
        xfs: convert remaining mount flags to state flags
        xfs: convert mount flags to features
        xfs: consolidate mount option features in m_features
        xfs: replace xfs_sb_version checks with feature flag checks
        xfs: reflect sb features in xfs_mount
        xfs: rework attr2 feature and mount options
        ...
      90c90cda
    • Linus Torvalds's avatar
      Merge tag 'docs-5.15' of git://git.lwn.net/linux · 4ac6d908
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Yet another set of documentation changes:
      
         - A reworking of PDF generation to yield better results for documents
           using CJK fonts in particular.
      
         - A new set of translations into traditional Chinese, a dialect for
           which I am assured there is a community of interested readers.
      
         - A lot more regular Chinese translation work as well.
      
        ... plus the usual assortment of updates, fixes, typo tweaks, etc"
      
      * tag 'docs-5.15' of git://git.lwn.net/linux: (55 commits)
        docs: sphinx-requirements: Move sphinx_rtd_theme to top
        docs: pdfdocs: Enable language-specific font choice of zh_TW translations
        docs: pdfdocs: Teach xeCJK about character classes of quotation marks
        docs: pdfdocs: Permit AutoFakeSlant for CJK fonts
        docs: pdfdocs: One-half spacing for CJK translations
        docs: pdfdocs: Add conf.py local to translations for ascii-art alignment
        docs: pdfdocs: Preserve inter-phrase space in Korean translations
        docs: pdfdocs: Choose Serif font as CJK mainfont if possible
        docs: pdfdocs: Add CJK-language-specific font settings
        docs: pdfdocs: Refactor config for CJK document
        scripts/kernel-doc: Override -Werror from KCFLAGS with KDOC_WERROR
        docs/zh_CN: Add zh_CN/accounting/psi.rst
        doc: align Italian translation
        Documentation/features/vm: riscv supports THP now
        docs/zh_CN: add infiniband user_verbs translation
        docs/zh_CN: add infiniband user_mad translation
        docs/zh_CN: add infiniband tag_matching translation
        docs/zh_CN: add infiniband sysfs translation
        docs/zh_CN: add infiniband opa_vnic translation
        docs/zh_CN: add infiniband ipoib translation
        ...
      4ac6d908