1. 03 Sep, 2022 5 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 42cf58c2
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty/serial/vt driver fixes for 6.0-rc4 that
        resolve a number of reported issues:
      
         - n_gsm fixups for previous changes that caused problems
      
         - much-reported serdev crash fix that showed up in 6.0-rc1
      
         - vt font selection bugfix
      
         - kerneldoc build warning fixes
      
         - other tiny serial core fixes
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: n_gsm: avoid call of sleeping functions from atomic context
        tty: n_gsm: replace kicktimer with delayed_work
        tty: n_gsm: initialize more members at gsm_alloc_mux()
        tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf()
        tty: serial: atmel: Preserve previous USART mode if RS485 disabled
        tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
        tty: Fix lookahead_buf crash with serdev
        serial: fsl_lpuart: RS485 RTS polariy is inverse
        vt: Clear selection before changing the font
        serial: document start_rx member at struct uart_ops
      42cf58c2
    • Linus Torvalds's avatar
      Merge tag 'staging-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · c53b3dcb
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are three small staging driver fixes for 6.0-rc4 that resolve
        some reported problems and add some a device id:
      
         - new device id for r8188eu driver
      
         - use-after-free bugfixes for the rtl8712 driver
      
         - fix up firmware dependency problem for the r8188eu driver
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: rtl8712: fix use after free bugs
        staging: r8188eu: Add Rosewill USB-N150 Nano to device tables
        staging: r8188eu: add firmware dependency
      c53b3dcb
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 9a61442c
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "Here's a collection of primarily clk driver fixes, with a couple fixes
        to the core framework.
      
        We had to revert out a commit that affected boot on some devices that
        have the CLK_OPS_PARENT_ENABLE flag set. It isn't critical to have
        that fix so we'll try again next time.
      
        Driver side fixes include:
      
         - Plug an OF-node refcount bug in the TI clk driver
      
         - Fix the error handling in the raspberry pi firmware get_rate so
           that errors don't look like valid frequencies
      
         - Avoid going out of bounds in the raspberry pi driver too if the
           video firmware returns something we're not expecting"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
        clk: bcm: rpi: Show clock id limit in error case
        clk: bcm: rpi: Add missing newline
        clk: bcm: rpi: Prevent out-of-bounds access
        clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
        clk: core: Fix runtime PM sequence in clk_core_unprepare()
        clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
        clk: ti: Fix missing of_node_get() ti_find_clock_provider()
      9a61442c
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.0-rc4' of... · 77746426
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - Fix out of bounds access in gpio-fan driver
      
       - Fix VOUT margin caching in PMBus core
      
       - Avoid error message after -EPROBE_DEFER from devm_regulator_register()
      
      * tag 'hwmon-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (gpio-fan) Fix array out of bounds access
        hwmon: (pmbus) Fix vout margin caching
        hwmon: (pmbus) Use dev_err_probe() to filter -EPROBE_DEFER error messages
      77746426
    • Steven Price's avatar
      mm: pagewalk: Fix race between unmap and page walker · 8782fb61
      Steven Price authored
      The mmap lock protects the page walker from changes to the page tables
      during the walk.  However a read lock is insufficient to protect those
      areas which don't have a VMA as munmap() detaches the VMAs before
      downgrading to a read lock and actually tearing down PTEs/page tables.
      
      For users of walk_page_range() the solution is to simply call pte_hole()
      immediately without checking the actual page tables when a VMA is not
      present. We now never call __walk_page_range() without a valid vma.
      
      For walk_page_range_novma() the locking requirements are tightened to
      require the mmap write lock to be taken, and then walking the pgd
      directly with 'no_vma' set.
      
      This in turn means that all page walkers either have a valid vma, or
      it's that special 'novma' case for page table debugging.  As a result,
      all the odd '(!walk->vma && !walk->no_vma)' tests can be removed.
      
      Fixes: dd2283f2 ("mm: mmap: zap pages with read mmap_sem in munmap")
      Reported-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarSteven Price <steven.price@arm.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8782fb61
  2. 02 Sep, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-09-02' of git://git.kernel.dk/linux-block · d895ec79
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Christoph:
           - error handling fix for the new auth code (Hannes Reinecke)
           - fix unhandled tcp states in nvmet_tcp_state_change (Maurizio
             Lombardi)
           - add NVME_QUIRK_BOGUS_NID for Lexar NM610 (Shyamin Ayesh)
      
       - Add documentation for the ublk driver merged in this merge window
         (Ming)
      
      * tag 'block-6.0-2022-09-02' of git://git.kernel.dk/linux-block:
        Documentation: document ublk
        nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
        nvmet-auth: add missing goto in nvmet_setup_auth()
        nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610
      d895ec79
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-09-02' of git://git.kernel.dk/linux-block · cec53f4c
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - A single fix for over-eager retries for networking (Pavel)
      
       - Revert the notification slot support for zerocopy sends.
      
         It turns out that even after more than a year or development and
         testing, there's not full agreement on whether just using plain
         ordered notifications is Good Enough to avoid the complexity of using
         the notifications slots. Because of that, we decided that it's best
         left to a future final decision.
      
         We can always bring back this feature, but we can't really change it
         or remove it once we've released 6.0 with it enabled. The reverts
         leave the usual CQE notifications as the primary interface for
         knowing when data was sent, and when it was acked. (Pavel)
      
      * tag 'io_uring-6.0-2022-09-02' of git://git.kernel.dk/linux-block:
        selftests/net: return back io_uring zc send tests
        io_uring/net: simplify zerocopy send user API
        io_uring/notif: remove notif registration
        Revert "io_uring: rename IORING_OP_FILES_UPDATE"
        Revert "io_uring: add zc notification flush requests"
        selftests/net: temporarily disable io_uring zc test
        io_uring/net: fix overexcessive retries
      cec53f4c
    • Linus Torvalds's avatar
      Merge tag '6.0-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 1551f8f2
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five fixes, all also marked for stable:
      
         - fixes for collapse range and insert range (also fixes xfstest
           generic/031)
      
         - memory leak fix"
      
      * tag '6.0-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix small mempool leak in SMB2_negotiate()
        smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait
        smb3: fix temporary data corruption in insert range
        smb3: fix temporary data corruption in collapse range
        smb3: Move the flush out of smb2_copychunk_range() into its callers
      1551f8f2
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 0c95f022
      Linus Torvalds authored
      Pull landlock fix from Mickaël Salaün:
       "This fixes a mis-handling of the LANDLOCK_ACCESS_FS_REFER right when
        multiple rulesets/domains are stacked.
      
        The expected behaviour was that an additional ruleset can only
        restrict the set of permitted operations, but in this particular case,
        it was potentially possible to re-gain the LANDLOCK_ACCESS_FS_REFER
        right"
      
      * tag 'landlock-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER
      0c95f022
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b307e704
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - Fix workaround for SD UHS-I voltage switch
      
      * tag 'mmc-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure
        mmc: core: Fix UHS-I SD 1.8V workaround branch
      b307e704
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-09-02' of git://anongit.freedesktop.org/drm/drm · 1e8e515e
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular fixes pull. One core dma-buf fix, then two weeks of i915
        fixes, a lot of amdgpu fixes mostly for new IP, and a bunch of msm
        fixes, mostly modesetting ones.
      
        Nothing seems too bad at this point.
      
        dma-buf/dma-resv:
         - Fence-handling fix
      
        i915:
         - GVT fixes including fix for a CommetLake regression in mmio table
           and misc doc and typo fixes
         - Fix CCS handling
         - Fix for guc requests after reset
         - Display DSI related fixes
         - Display backlight related fixes
         - Fix for a null pointer dereference
         - HDMI related quirk for ECS Liva Q2 with GLK graphics
         - Skip wm/ddb readout for disabled pipes
      
        amdgpu:
         - FRU error message fix
         - MES 11 updates
         - DCN 3.2.x fixes
         - DCN 3.1.4 fixes
         - Fix possible use after free in CS IOCTL
         - SMU 13.0.x fixes
         - Fix iolink reporting on devices with direct connections to CPU
         - GFX10 tap delay firmware fixes
      
        msm:
         - Fix for inconsistent indenting in msm_dsi_dphy_timing_calc_v3().
         - Fix to make eDP the first connector in the connected list.
         - Fix to populate intf_cfg correctly before calling reset_intf_cfg().
         - Specify the correct number of DSI regulators for SDM660.
         - Specify the correct number of DSI regulators for MSM8996.
         - Fix for removing DP_RECOVERED_CLOCK_OUT_EN bit for tps4 link training
         - Fix probe-deferral crash in gpu devfreq
         - Fix gpu debugfs deadlock"
      
      * tag 'drm-fixes-2022-09-02' of git://anongit.freedesktop.org/drm/drm: (51 commits)
        drm/amd/amdgpu: skip ucode loading if ucode_size == 0
        drm/amdgpu: only init tap_delay ucode when it's included in ucode binary
        drm/amd/display: Fix black flash when switching from ODM2to1 to ODMBypass
        drm/amd/display: Fix check for stream and plane
        drm/amd/display: Re-initialize viewport after pipe merge
        drm/amd/display: Use correct plane for CAB cursor size allocation
        drm/amdgpu: ensure no PCIe peer access for CPU XGMI iolinks
        drm/amd/pm: bump SMU 13.0.0 driver_if header version
        drm/amd/pm: use vbios carried pptable for all SMU13.0.7 SKUs
        drm/amd/pm: use vbios carried pptable for those supported SKUs
        drm/amd/display: fix wrong register access
        drm/amd/display: use actual cursor size instead of max for CAB allocation
        drm/amd/display: disable display fresh from MALL on an edge case for DCN321
        drm/amd/display: Fix CAB cursor size allocation for DCN32/321
        drm/amd/display: Missing HPO instance added
        drm/amd/display: set dig fifo read start level to 7 before dig fifo reset
        drm/amdgpu: Fix use-after-free in amdgpu_cs_ioctl
        drm/amd/display: Fix OTG H timing reset for dcn314
        drm/amd/display: Fix DCN32 DPSTREAMCLK_CNTL programming
        drm/amdgpu: Update mes_v11_api_def.h
        ...
      1e8e515e
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 0b3acd1c
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are some small driver core fixes for some oft-reported problems
        in 6.0-rc1.  They include:
      
         - a bunch of reverts to handle driver_deferred_probe_check_state()
           problems that were part of the 6.0-rc1 merge.
      
         - firmware_loader bugfixes now that the code is being properly tested
           and used by others
      
         - arch_topology fix
      
         - deferred driver probe bugfix to solve a long-suffering amba bus
           problem that many people have reported.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware_loader: Fix memory leak in firmware upload
        firmware_loader: Fix use-after-free during unregister
        arch_topology: Silence early cacheinfo errors when non-existent
        driver core: Don't probe devices after bus_type.match() probe deferral
        Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"
        Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
        Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()"
        Revert "driver core: Delete driver_deferred_probe_check_state()"
      0b3acd1c
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ffb384c2
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char/misc and other driver fixes for 6.0-rc4.
      
        Included in here are:
      
         - binder fixes for previous fixes, and a few more fixes uncovered by
           them.
      
         - iio driver fixes
      
         - soundwire driver fixes
      
         - fastrpc driver fixes for memory corruption on some hardware
      
         - peci driver fix
      
         - mhi driver fix
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'char-misc-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: fix alloc->vma_vm_mm null-ptr dereference
        misc: fastrpc: increase maximum session count
        misc: fastrpc: fix memory corruption on open
        misc: fastrpc: fix memory corruption on probe
        soundwire: qcom: fix device status array range
        bus: mhi: host: Fix up null pointer access in mhi_irq_handler
        soundwire: qcom: remove duplicate reset control get
        iio: light: cm32181: make cm32181_pm_ops static
        iio: ad7292: Prevent regulator double disable
        dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
        iio: adc: mcp3911: use correct formula for AD conversion
        iio: adc: mcp3911: correct "microchip,device-addr" property
        Revert "binder_alloc: Add missing mmap_lock calls when using the VMA"
        binder_alloc: Add missing mmap_lock calls when using the VMA
        binder: fix UAF of ref->proc caused by race condition
        iio: light: cm3605: Fix an error handling path in cm3605_probe()
        iio: adc: mcp3911: make use of the sign bit
        peci: cpu: Fix use-after-free in adev_release()
        peci: aspeed: fix error check return value of platform_get_irq()
      ffb384c2
    • Linus Torvalds's avatar
      Merge tag 'usb-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · fd59585c
      Linus Torvalds authored
      Pull USB/Thunderbolt driver fixes from Greg KH:
       "Here are a lot of small USB and Thunderbolt driver fixes for 6.0-rc4
        for reported problems. Included in here are:
      
         - new usb-serial driver ids
      
         - dwc3 driver bugfixes for reported problems with 6.0-rc1
      
         - new device quirks, and reverts of some quirks that were incorrect
      
         - gadget driver bugfixes for reported problems
      
         - USB host controller bugfixes (xhci and others)
      
         - other small USB fixes, details in the shortlog
      
         - small thunderbolt driver fixes
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (51 commits)
        Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
        usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
        USB: serial: ch341: fix disabled rx timer on older devices
        USB: serial: ch341: fix lost character on LCR updates
        USB: serial: cp210x: add Decagon UCA device id
        Revert "usb: add quirks for Lenovo OneLink+ Dock"
        usb: cdns3: fix issue with rearming ISO OUT endpoint
        usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer
        usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
        media: mceusb: Use new usb_control_msg_*() routines
        USB: core: Prevent nested device-reset calls
        USB: gadget: Fix obscure lockdep violation for udc_mutex
        usb: dwc2: fix wrong order of phy_power_on and phy_init
        usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
        usb: typec: Remove retimers properly
        usb: dwc3: disable USB core PHY management
        usb: add quirks for Lenovo OneLink+ Dock
        USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
        USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
        USB: serial: option: add Quectel EM060K modem
        ...
      fd59585c
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.0-2' of... · 1a2f6a37
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Various small fixes and hardware-id additions"
      
      * tag 'platform-drivers-x86-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: p2sb: Fix UAF when caller uses resource name
        platform/x86: asus-wmi: Increase FAN_CURVE_BUF_LEN to 32
        platform/mellanox: Remove redundant 'NULL' check
        platform/mellanox: Remove unnecessary code
        platform/mellanox: mlxreg-lc: Fix locking issue
        platform/mellanox: mlxreg-lc: Fix coverity warning
        platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
        platform/x86: thinkpad_acpi: Explicitly set to balanced mode on startup
        platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
        platform/surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8
        platform/surface: aggregator_registry: Rename HID device nodes based on new findings
        platform/surface: aggregator_registry: Rename HID device nodes based on their function
        platform/surface: aggregator_registry: Add support for Surface Laptop Go 2
        platform/x86: x86-android-tablets: Fix broken touchscreen on Chuwi Hi8 with Windows BIOS
        platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
      1a2f6a37
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · cf3488fa
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "It's a lot smaller than last week, with the star of the show being a
        couple of fixes to head.S addressing a boot regression introduced by
        the recent overhaul of that code in non-default configurations (i.e.
        KASLR disabled).
      
        The first of those two resolves the issue reported (and bisected) by
        Mikulus in the wait_on_bit() thread.
      
        Summary:
      
         - Fix two boot issues caused by the recent head.S rework when !KASLR
      
         - Fix calculation of crashkernel memory reservation
      
         - Fix bogus error check in PMU IRQ probing code"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Reserve enough pages for the initial ID map
        perf/arm_pmu_platform: fix tests for platform_get_irq() failure
        arm64: head: Ignore bogus KASLR displacement on non-relocatable kernels
        arm64/kexec: Fix missing extra range for crashkres_low.
      cf3488fa
    • Ming Lei's avatar
      Documentation: document ublk · 7a3d2225
      Ming Lei authored
      Add documentation for ublk subsystem. It was supposed to be documented when
      merging the driver, but missing at that time.
      
      Cc: Bagas Sanjaya <bagasdotme@gmail.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Richard W.M. Jones <rjones@redhat.com>
      Cc: Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarZiyangZhang <ZiyangZhang@linux.alibaba.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      [axboe: correct MAINTAINERS addition]
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7a3d2225
    • Mickaël Salaün's avatar
      landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER · 55e55920
      Mickaël Salaün authored
      This change fixes a mis-handling of the LANDLOCK_ACCESS_FS_REFER right
      when multiple rulesets/domains are stacked. The expected behaviour was
      that an additional ruleset can only restrict the set of permitted
      operations, but in this particular case, it was potentially possible to
      re-gain the LANDLOCK_ACCESS_FS_REFER right.
      
      With the introduction of LANDLOCK_ACCESS_FS_REFER, we added the first
      globally denied-by-default access right.  Indeed, this lifted an initial
      Landlock limitation to rename and link files, which was initially always
      denied when the source or the destination were different directories.
      
      This led to an inconsistent backward compatibility behavior which was
      only taken into account if no domain layer were using the new
      LANDLOCK_ACCESS_FS_REFER right. However, when restricting a thread with
      a new ruleset handling LANDLOCK_ACCESS_FS_REFER, all inherited parent
      rulesets/layers not explicitly handling LANDLOCK_ACCESS_FS_REFER would
      behave as if they were handling this access right and with all their
      rules allowing it. This means that renaming and linking files could
      became allowed by these parent layers, but all the other required
      accesses must also be granted: all layers must allow file removal or
      creation, and renaming and linking operations cannot lead to privilege
      escalation according to the Landlock policy.  See detailed explanation
      in commit b91c3e4e ("landlock: Add support for file reparenting with
      LANDLOCK_ACCESS_FS_REFER").
      
      To say it another way, this bug may lift the renaming and linking
      limitations of the initial Landlock version, and a same ruleset can
      enforce different restrictions depending on previous or next enforced
      ruleset (i.e. inconsistent behavior). The LANDLOCK_ACCESS_FS_REFER right
      cannot give access to data not already allowed, but this doesn't follow
      the contract of the first Landlock ABI. This fix puts back the
      limitation for sandboxes that didn't opt-in for this additional right.
      
      For instance, if a first ruleset allows LANDLOCK_ACCESS_FS_MAKE_REG on
      /dst and LANDLOCK_ACCESS_FS_REMOVE_FILE on /src, renaming /src/file to
      /dst/file is denied. However, without this fix, stacking a new ruleset
      which allows LANDLOCK_ACCESS_FS_REFER on / would now permit the
      sandboxed thread to rename /src/file to /dst/file .
      
      This change fixes the (absolute) rule access rights, which now always
      forbid LANDLOCK_ACCESS_FS_REFER except when it is explicitly allowed
      when creating a rule.
      
      Making all domain handle LANDLOCK_ACCESS_FS_REFER was an initial
      approach but there is two downsides:
      * it makes the code more complex because we still want to check that a
        rule allowing LANDLOCK_ACCESS_FS_REFER is legitimate according to the
        ruleset's handled access rights (i.e. ABI v1 != ABI v2);
      * it would not allow to identify if the user created a ruleset
        explicitly handling LANDLOCK_ACCESS_FS_REFER or not, which will be an
        issue to audit Landlock.
      
      Instead, this change adds an ACCESS_INITIALLY_DENIED list of
      denied-by-default rights, which (only) contains
      LANDLOCK_ACCESS_FS_REFER.  All domains are treated as if they are also
      handling this list, but without modifying their fs_access_masks field.
      
      A side effect is that the errno code returned by rename(2) or link(2)
      *may* be changed from EXDEV to EACCES according to the enforced
      restrictions.  Indeed, we now have the mechanic to identify if an access
      is denied because of a required right (e.g. LANDLOCK_ACCESS_FS_MAKE_REG,
      LANDLOCK_ACCESS_FS_REMOVE_FILE) or if it is denied because of missing
      LANDLOCK_ACCESS_FS_REFER rights.  This may result in different errno
      codes than for the initial Landlock version, but this approach is more
      consistent and better for rename/link compatibility reasons, and it
      wasn't possible before (hence no backport to ABI v1).  The
      layout1.rename_file test reflects this change.
      
      Add 4 layout1.refer_denied_by_default* test suites to check that the
      behavior of a ruleset not handling LANDLOCK_ACCESS_FS_REFER (ABI v1) is
      unchanged even if another layer handles LANDLOCK_ACCESS_FS_REFER (i.e.
      ABI v1 precedence).  Make sure rule's absolute access rights are correct
      by testing with and without a matching path.  Add test_rename() and
      test_exchange() helpers.
      
      Extend layout1.inval tests to check that a denied-by-default access
      right is not necessarily part of a domain's handled access rights.
      
      Test coverage for security/landlock is 95.3% of 599 lines according to
      gcc/gcov-11.
      
      Fixes: b91c3e4e ("landlock: Add support for file reparenting with LANDLOCK_ACCESS_FS_REFER")
      Reviewed-by: default avatarPaul Moore <paul@paul-moore.com>
      Reviewed-by: default avatarGünther Noack <gnoack3000@gmail.com>
      Link: https://lore.kernel.org/r/20220831203840.1370732-1-mic@digikod.net
      Cc: stable@vger.kernel.org
      [mic: Constify and slightly simplify test helpers]
      Signed-off-by: default avatarMickaël Salaün <mic@digikod.net>
      55e55920
    • Greg Kroah-Hartman's avatar
      Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio" · fe0a2ac7
      Greg Kroah-Hartman authored
      This reverts commit 8cb339f1 as it
      throws up a bunch of sparse warnings as reported by the kernel test
      robot.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Link: https://lore.kernel.org/r/202209020044.CX2PfZzM-lkp@intel.com
      Fixes: 8cb339f1 ("usb: gadget: udc-xilinx: replace memcpy with memcpy_toio")
      Cc: stable@vger.kernel.org
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Piyush Mehta <piyush.mehta@amd.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fe0a2ac7
    • Greg Kroah-Hartman's avatar
      Merge tag 'soundwire-6.0-fixes' of... · 0f022aaa
      Greg Kroah-Hartman authored
      Merge tag 'soundwire-6.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire into char-misc-linus
      
      Vinod writes:
        "soundwire fixes for v6.0
      
         This contains two fixes to qcom sdw driver which resolve duplicate reset
         control get and second one fixes device array indices."
      
      * tag 'soundwire-6.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: qcom: fix device status array range
        soundwire: qcom: remove duplicate reset control get
      0f022aaa
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2022-09-01' of... · bfe632f6
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2022-09-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Fix for a null pointer dereference (Lukasz)
      - HDMI related quirk for ECS Liva Q2 with GLK graphics (Diego)
      - Skip wm/ddb readout for disabled pipes (Ville)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YxC3GmSOpDiZTdIJ@intel.com
      bfe632f6
  3. 01 Sep, 2022 19 commits