1. 23 Jul, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag '6.5-rc2-smb3-client-fixes-ver2' of git://git.samba.org/sfrench/cifs-2.6 · 8266f53b
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "Add minor debugging improvement.
      
        The change improves ability to read a network trace to debug problems
        on encrypted connections which are very common (e.g. using wireshark
        or tcpdump).
      
        That works today with tools like 'smbinfo keys /mnt/file' but requires
        passing in a filename on the mount (see e.g. [1]), but it often makes
        more sense to just pass in the mount point path (ie a directory not a
        filename).
      
        So this fix was needed to debug some types of problems (an obvious
        example is on an encrypted connection failing operations on an empty
        share or with no files in the root of the directory) - so you can
        simply pass in the 'smbinfo keys <mntpoint>' and get the information
        that wireshark needs"
      
      Link: https://wiki.samba.org/index.php/Wireshark_Decryption [1]
      
      * tag '6.5-rc2-smb3-client-fixes-ver2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module version number for cifs.ko
        cifs: allow dumping keys for directories too
      8266f53b
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c2782531
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Reinstate support for little endian ELFv1 binaries, which it turns
         out still exist in the wild.
      
       - Revert a change which used asm goto for WARN_ON/__WARN_FLAGS, as it
         lead to dead code generation and seemed to trigger compiler bugs in
         some edge cases.
      
       - Fix a deadlock in the pseries VAS code, between live migration and
         the driver's mmap handler.
      
       - Disable KCOV instrumentation in the powerpc KASAN code.
      
      Thanks to Andrew Donnellan, Benjamin Gray, Christophe Leroy, Haren
      Myneni, Russell Currey, and Uwe Kleine-König.
      
      * tag 'powerpc-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc/64s: Remove support for ELFv1 little endian userspace"
        powerpc/kasan: Disable KCOV in KASAN code
        powerpc/512x: lpbfifo: Convert to platform remove callback returning void
        powerpc/crypto: Add gitignore for generated P10 AES/GCM .S files
        Revert "powerpc/bug: Provide better flexibility to WARN_ON/__WARN_FLAGS() with asm goto"
        powerpc/pseries/vas: Hold mmap_mutex after mmap lock during window close
      c2782531
  2. 22 Jul, 2023 8 commits
    • Steve French's avatar
      cifs: update internal module version number for cifs.ko · ba61a03a
      Steve French authored
      From 2.43 to 2.44
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      ba61a03a
    • Shyam Prasad N's avatar
      cifs: allow dumping keys for directories too · b3edef6b
      Shyam Prasad N authored
      Dumping the enc/dec keys is a session wide operation.
      And it should not matter if the ioctl was run on
      a regular file or a directory.
      
      Currently, we obtain the tcon pointer from the
      cifs file handle. But since there's no dir open call
      in cifs, this is not populated for dirs.
      
      This change allows dumping of session keys using ioctl
      even for directories. To do this, we'll now get the
      tcon pointer from the superblock, and not from the file
      handle.
      Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      b3edef6b
    • Linus Torvalds's avatar
      Merge tag 's390-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 295e1388
      Linus Torvalds authored
      Pull s390 fixes from Heiko Carstens:
      
       - Fix per vma lock fault handling: add missing !(fault & VM_FAULT_ERROR)
         check to fault handler to prevent error handling for return values
         that don't indicate an error
      
       - Use kfree_sensitive() instead of kfree() in paes crypto code to clear
         memory that may contain keys before freeing it
      
       - Fix reply buffer size calculation for CCA replies in zcrypt device
         driver
      
      * tag 's390-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/zcrypt: fix reply buffer calculations for CCA replies
        s390/crypto: use kfree_sensitive() instead of kfree()
        s390/mm: fix per vma lock fault handling
      295e1388
    • Linus Torvalds's avatar
      Merge tag 'block-6.5-2023-07-21' of git://git.kernel.dk/linux · f036d67c
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix for loop regressions (Mauricio)
      
       - Fix a potential stall with batched wakeups in sbitmap (David)
      
       - Fix for stall with recursive plug flushes (Ross)
      
       - Skip accounting of empty requests for blk-iocost (Chengming)
      
       - Remove a dead field in struct blk_mq_hw_ctx (Chengming)
      
      * tag 'block-6.5-2023-07-21' of git://git.kernel.dk/linux:
        loop: do not enforce max_loop hard limit by (new) default
        loop: deprecate autoloading callback loop_probe()
        sbitmap: fix batching wakeup
        blk-iocost: skip empty flush bio in iocost
        blk-mq: delete dead struct blk_mq_hw_ctx->queued field
        blk-mq: Fix stall due to recursive flush plug
      f036d67c
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.5-2023-07-21' of git://git.kernel.dk/linux · bdd1d82e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix for io-wq not always honoring REQ_F_NOWAIT, if it was set and
         punted directly (eg via DRAIN) (me)
      
       - Capability check fix (Ondrej)
      
       - Regression fix for the mmap changes that went into 6.4, which
         apparently broke IA64 (Helge)
      
      * tag 'io_uring-6.5-2023-07-21' of git://git.kernel.dk/linux:
        ia64: mmap: Consider pgoff when searching for free mapping
        io_uring: Fix io_uring mmap() by using architecture-provided get_unmapped_area()
        io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
        io_uring: don't audit the capability check in io_uring_create()
      bdd1d82e
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 725d444d
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Fix moortec,mr75203 schema usage of 'multipleOf' keyword
      
       - Fix regression in systems depending on "of-display" device name
      
       - Build fix for s390 with CONFIG_PCI=n and OF_EARLY_FLATTREE=y
      
       - Drop two obsolete serial .txt bindings
      
      * tag 'devicetree-fixes-for-6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: serial: Remove obsolete nxp,lpc1850-uart.txt
        dt-bindings: serial: Remove obsolete cavium-uart.txt
        dt-bindings: hwmon: moortec,mr75203: fix multipleOf for coefficients
        of: Preserve "of-display" device name for compatibility
        of: make OF_EARLY_FLATTREE depend on HAS_IOMEM
      725d444d
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 39b14286
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "Three fixes here:
      
         - The issues with accounting for register and padding length on raw
           buses turn out to be quite widespread in custom buses.
      
           In order to avoid disturbing anything drop the initial fixes and
           fall back to a point fix in the SMBus code where the issue was
           originally noticed, a more substantial refactoring of the API which
           ensures that all buses make the same assumptions will follow.
      
         - The generic regcache code had been forcing on async I/O which did
           not work with the new maple tree sync code when used with SPI.
      
           Since that was mainly for the rbtree cache and the assumptions
           about hardware that drove the choice are probably not true any more
           fix this by pushing the enablement of async down into the rbtree
           code.
      
           This probably also makes cache syncs for systems faster though it's
           not the point.
      
         - The test code was triggering use of the rbtree and maple tree
           caches with dynamic allocation of nodes since all the testing is
           with RAM backed caches with no I/O performance issues.
      
           Just disable the locking in the tests to avoid triggering warnings
           when allocation debugging is turned on, it's not really what's
           being tested"
      
      * tag 'regmap-fix-v6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Disable locking for RBTREE and MAPLE unit tests
        regcache: Push async I/O request down into the rbtree cache
        regmap: Account for register length in SMBus I/O limits
        regmap: Drop initial version of maximum transfer length fixes
      39b14286
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · c0842db5
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix initial value handling for output-only pins in gpio-tps68470
      
       - fix two resource leaks in gpio-mvebu
      
      * tag 'gpio-fixes-for-v6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mvebu: fix irq domain leak
        gpio: mvebu: Make use of devm_pwmchip_add
        gpio: tps68470: Make tps68470_gpio_output() always set the initial value
      c0842db5
  3. 21 Jul, 2023 18 commits
    • Rob Herring's avatar
      dt-bindings: serial: Remove obsolete nxp,lpc1850-uart.txt · ffc59c64
      Rob Herring authored
      nxp,lpc1850-uart.txt binding is already covered by 8250.yaml, so remove
      it.
      Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
      Link: https://lore.kernel.org/r/20230707221607.1064888-1-robh@kernel.orgSigned-off-by: default avatarRob Herring <robh@kernel.org>
      ffc59c64
    • Rob Herring's avatar
      dt-bindings: serial: Remove obsolete cavium-uart.txt · 5921181c
      Rob Herring authored
      cavium-uart.txt binding is already covered by 8250.yaml, so remove it.
      Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
      Link: https://lore.kernel.org/r/20230707221602.1063972-1-robh@kernel.orgSigned-off-by: default avatarRob Herring <robh@kernel.org>
      5921181c
    • Mauricio Faria de Oliveira's avatar
      loop: do not enforce max_loop hard limit by (new) default · bb5faa99
      Mauricio Faria de Oliveira authored
      Problem:
      
      The max_loop parameter is used for 2 different purposes:
      
      1) initial number of loop devices to pre-create on init
      2) maximum number of loop devices to add on access/open()
      
      Historically, its default value (zero) caused 1) to create non-zero
      number of devices (CONFIG_BLK_DEV_LOOP_MIN_COUNT), and no hard limit on
      2) to add devices with autoloading.
      
      However, the default value changed in commit 85c50197 ("loop: Fix
      the max_loop commandline argument treatment when it is set to 0") to
      CONFIG_BLK_DEV_LOOP_MIN_COUNT, for max_loop=0 not to pre-create devices.
      
      That does improve 1), but unfortunately it breaks 2), as the default
      behavior changed from no-limit to hard-limit.
      
      Example:
      
      For example, this userspace code broke for N >= CONFIG, if the user
      relied on the default value 0 for max_loop:
      
          mknod("/dev/loopN");
          open("/dev/loopN");  // now fails with ENXIO
      
      Though affected users may "fix" it with (loop.)max_loop=0, this means to
      require a kernel parameter change on stable kernel update (that commit
      Fixes: an old commit in stable).
      
      Solution:
      
      The original semantics for the default value in 2) can be applied if the
      parameter is not set (ie, default behavior).
      
      This still keeps the intended function in 1) and 2) if set, and that
      commit's intended improvement in 1) if max_loop=0.
      
      Before 85c50197:
        - default:     1) CONFIG devices   2) no limit
        - max_loop=0:  1) CONFIG devices   2) no limit
        - max_loop=X:  1) X devices        2) X limit
      
      After 85c50197:
        - default:     1) CONFIG devices   2) CONFIG limit (*)
        - max_loop=0:  1) 0 devices (*)    2) no limit
        - max_loop=X:  1) X devices        2) X limit
      
      This commit:
        - default:     1) CONFIG devices   2) no limit (*)
        - max_loop=0:  1) 0 devices        2) no limit
        - max_loop=X:  1) X devices        2) X limit
      
      Future:
      
      The issue/regression from that commit only affects code under the
      CONFIG_BLOCK_LEGACY_AUTOLOAD deprecation guard, thus the fix too is
      contained under it.
      
      Once that deprecated functionality/code is removed, the purpose 2) of
      max_loop (hard limit) is no longer in use, so the module parameter
      description can be changed then.
      
      Tests:
      
      Linux 6.4-rc7
      CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
      CONFIG_BLOCK_LEGACY_AUTOLOAD=y
      
      - default (original)
      
      	# ls -1 /dev/loop*
      	/dev/loop-control
      	/dev/loop0
      	...
      	/dev/loop7
      
      	# ./test-loop
      	open: /dev/loop8: No such device or address
      
      - default (patched)
      
      	# ls -1 /dev/loop*
      	/dev/loop-control
      	/dev/loop0
      	...
      	/dev/loop7
      
      	# ./test-loop
      	#
      
      - max_loop=0 (original & patched):
      
      	# ls -1 /dev/loop*
      	/dev/loop-control
      
      	# ./test-loop
      	#
      
      - max_loop=8 (original & patched):
      
      	# ls -1 /dev/loop*
      	/dev/loop-control
      	/dev/loop0
      	...
      	/dev/loop7
      
      	# ./test-loop
      	open: /dev/loop8: No such device or address
      
      - max_loop=0 (patched; CONFIG_BLOCK_LEGACY_AUTOLOAD is not set)
      
      	# ls -1 /dev/loop*
      	/dev/loop-control
      
      	# ./test-loop
      	open: /dev/loop8: No such device or address
      
      Fixes: 85c50197 ("loop: Fix the max_loop commandline argument treatment when it is set to 0")
      Signed-off-by: default avatarMauricio Faria de Oliveira <mfo@canonical.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lore.kernel.org/r/20230720143033.841001-3-mfo@canonical.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      bb5faa99
    • Mauricio Faria de Oliveira's avatar
      loop: deprecate autoloading callback loop_probe() · 23881aec
      Mauricio Faria de Oliveira authored
      The 'probe' callback in __register_blkdev() is only used under the
      CONFIG_BLOCK_LEGACY_AUTOLOAD deprecation guard.
      
      The loop_probe() function is only used for that callback, so guard it
      too, accordingly.
      
      See commit fbdee71b ("block: deprecate autoloading based on dev_t").
      Signed-off-by: default avatarMauricio Faria de Oliveira <mfo@canonical.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Link: https://lore.kernel.org/r/20230720143033.841001-2-mfo@canonical.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      23881aec
    • David Jeffery's avatar
      sbitmap: fix batching wakeup · 10639737
      David Jeffery authored
      Current code supposes that it is enough to provide forward progress by
      just waking up one wait queue after one completion batch is done.
      
      Unfortunately this way isn't enough, cause waiter can be added to wait
      queue just after it is woken up.
      
      Follows one example(64 depth, wake_batch is 8)
      
      1) all 64 tags are active
      
      2) in each wait queue, there is only one single waiter
      
      3) each time one completion batch(8 completions) wakes up just one
         waiter in each wait queue, then immediately one new sleeper is added
         to this wait queue
      
      4) after 64 completions, 8 waiters are wakeup, and there are still 8
         waiters in each wait queue
      
      5) after another 8 active tags are completed, only one waiter can be
         wakeup, and the other 7 can't be waken up anymore.
      
      Turns out it isn't easy to fix this problem, so simply wakeup enough
      waiters for single batch.
      
      Cc: Kemeng Shi <shikemeng@huaweicloud.com>
      Cc: Chengming Zhou <zhouchengming@bytedance.com>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarDavid Jeffery <djeffery@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Reviewed-by: default avatarGabriel Krisman Bertazi <krisman@suse.de>
      Reviewed-by: default avatarKeith Busch <kbusch@kernel.org>
      Link: https://lore.kernel.org/r/20230721095715.232728-1-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      10639737
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · d192f538
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "I've picked up a handful of arm64 fixes while Catalin's been away, so
        here they are. Below is the usual summary, but we have basically have
        two cleanups, a fix for an SME crash and a fix for hibernation:
      
         - Fix saving of SME state after SVE vector length is changed
      
         - Fix sparse warnings for missing vDSO function prototypes
      
         - Fix hibernation resume path when kfence is enabled
      
         - Fix field names for the HFGxTR_EL2 register"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes
        arm64: vdso: Clear common make C=2 warnings
        arm64: mm: Make hibernation aware of KFENCE
        arm64: Fix HFGxTR_EL2 field naming
      d192f538
    • Linus Torvalds's avatar
      Merge tag 'pm-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 892d7c1b
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "Revert three recent intel_idle commits that introduced a functional
        issue, included a coding mistake and have been questioned at the
        design level"
      
      * tag 'pm-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "intel_idle: Add support for using intel_idle in a VM guest using just hlt"
        Revert "intel_idle: Add a "Long HLT" C1 state for the VM guest mode"
        Revert "intel_idle: Add __init annotation to matchup_vm_state_with_baremetal()"
      892d7c1b
    • Linus Torvalds's avatar
      Merge tag 'sound-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3c05547a
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A pile of fixes that have been gathered since the previous pull. Most
        of changes are device-specific, and nothing looks too scary.
      
         - A memory leak fix in ALSA sequencer code in 6.5-rc
      
         - Many fixes for ASoC Qualcomm CODEC drivers, covering SoundWire
           probe problems
      
         - A series of ASoC AMD fixes
      
         - A few fixes and cleanups of selftest stuff
      
         - HD-audio codec fixes and quirks for Clevo, HP, Lenovo, Dell"
      
      * tag 'sound-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (52 commits)
        ALSA: hda/realtek: Add support for DELL Oasis 13/14/16 laptops
        ALSA: hda/realtek: Fix generic fixup definition for cs35l41 amp
        ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
        selftests: ALSA: Add test-pcmtest-driver to .gitignore
        ALSA: hda/realtek: Add quirk for Clevo NS70AU
        ASoC: fsl_sai: Disable bit clock with transmitter
        ALSA: seq: Fix memory leak at error path in snd_seq_create_port()
        ASoC: SOF: ipc3-dtrace: uninitialized data in dfsentry_trace_filter_write()
        ASoC: cs42l51: fix driver to properly autoload with automatic module loading
        MAINTAINERS: Redo addition of ssm3515 to APPLE SOUND
        ASoC: rt5640: Fix the issue of speaker noise
        ALSA: hda/realtek - remove 3k pull low procedure
        selftests: ALSA: Fix fclose on an already fclosed file pointer
        ALSA: pcmtest: Don't use static storage to track per device data
        ALSA: pcmtest: Convert to platform remove callback returning void
        ASoC: dt-bindings: audio-graph-card2: Drop incomplete example
        ASoC: dt-bindings: Update maintainer email id
        ASoC: amd: ps: Fix extraneous error messages
        ASoC: fsl_sai: Revert "ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode"
        ASoC: codecs: SND_SOC_WCD934X should select REGMAP_IRQ
        ...
      3c05547a
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 55c225fb
      Linus Torvalds authored
      Pull fbdev fixes and cleanups from Helge Deller:
       "Just the usual bunch of code cleanups in various drivers, this time
        mostly in vgacon and imxfb:
      
         - Code cleanup in vgacon (Jiri Slaby)
      
         - Explicitly include correct DT includes (Rob Herring)
      
         - imxfb code cleanup (Yangtao Li, Martin Kaiser)
      
         - kyrofb: make arrays const and smaller (Colin Ian King)
      
         - ep93xx-fb: return value check fix (Yuanjun Gong)
      
         - au1200fb: add missing IRQ check (Zhang Shurong)"
      
      * tag 'fbdev-for-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: Explicitly include correct DT includes
        fbdev: ep93xx-fb: fix return value check in ep93xxfb_probe
        fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
        fbdev: kyro: make some const read-only arrays static and reduce type size
        fbcon: remove unused display (p) from fbcon_redraw()
        sticon: make sticon_set_def_font() void and remove op parameter
        vgacon: cache vc_cell_height in vgacon_cursor()
        vgacon: let vgacon_doresize() return void
        vgacon: remove unused xpos from vgacon_set_cursor_size()
        vgacon: remove unneeded forward declarations
        vgacon: switch vgacon_scrolldelta() and vgacon_restore_screen()
        fbdev: imxfb: remove unneeded labels
        fbdev: imxfb: Convert to devm_platform_ioremap_resource()
        fbdev: imxfb: Convert to devm_kmalloc_array()
        fbdev: imxfb: Removed unneeded release_mem_region
        fbdev: imxfb: switch to DEFINE_SIMPLE_DEV_PM_OPS
        fbdev: imxfb: warn about invalid left/right margin
      55c225fb
    • Daniel Vetter's avatar
      drm/atomic: Fix potential use-after-free in nonblocking commits · 4e076c73
      Daniel Vetter authored
      This requires a bit of background.  Properly done a modeset driver's
      unload/remove sequence should be
      
      	drm_dev_unplug();
      	drm_atomic_helper_shutdown();
      	drm_dev_put();
      
      The trouble is that the drm_dev_unplugged() checks are by design racy,
      they do not synchronize against all outstanding ioctl.  This is because
      those ioctl could block forever (both for modeset and for driver
      specific ioctls), leading to deadlocks in hotunplug.  Instead the code
      sections that touch the hardware need to be annotated with
      drm_dev_enter/exit, to avoid accessing hardware resources after the
      unload/remove has finished.
      
      To avoid use-after-free issues all the involved userspace visible
      objects are supposed to hold a reference on the underlying drm_device,
      like drm_file does.
      
      The issue now is that we missed one, the atomic modeset ioctl can be run
      in a nonblocking fashion, and in that case it cannot rely on the implied
      drm_device reference provided by the ioctl calling context.  This can
      result in a use-after-free if an nonblocking atomic commit is carefully
      raced against a driver unload.
      
      Fix this by unconditionally grabbing a drm_device reference for any
      drm_atomic_state structures.  Strictly speaking this isn't required for
      blocking commits and TEST_ONLY calls, but it's the simpler approach.
      
      Thanks to shanzhulig for the initial idea of grabbing an unconditional
      reference, I just added comments, a condensed commit message and fixed a
      minor potential issue in where exactly we drop the final reference.
      Reported-by: default avatarshanzhulig <shanzhulig@gmail.com>
      Suggested-by: default avatarshanzhulig <shanzhulig@gmail.com>
      Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: David Airlie <airlied@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e076c73
    • Helge Deller's avatar
      ia64: mmap: Consider pgoff when searching for free mapping · 07e98113
      Helge Deller authored
      IA64 is the only architecture which does not consider the pgoff value when
      searching for a possible free memory region with vm_unmapped_area().
      Adding this seems to have no negative side effect on IA64, so add it now
      to make IA64 consistent with all other architectures.
      
      Cc: stable@vger.kernel.org # 6.4
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Tested-by: default avatarmatoro <matoro_mailinglist_kernel@matoro.tk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: linux-ia64@vger.kernel.org
      Link: https://lore.kernel.org/r/20230721152432.196382-3-deller@gmx.deSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      07e98113
    • Helge Deller's avatar
      io_uring: Fix io_uring mmap() by using architecture-provided get_unmapped_area() · 32832a40
      Helge Deller authored
      The io_uring testcase is broken on IA-64 since commit d808459b
      ("io_uring: Adjust mapping wrt architecture aliasing requirements").
      
      The reason is, that this commit introduced an own architecture
      independend get_unmapped_area() search algorithm which finds on IA-64 a
      memory region which is outside of the regular memory region used for
      shared userspace mappings and which can't be used on that platform
      due to aliasing.
      
      To avoid similar problems on IA-64 and other platforms in the future,
      it's better to switch back to the architecture-provided
      get_unmapped_area() function and adjust the needed input parameters
      before the call. Beside fixing the issue, the function now becomes
      easier to understand and maintain.
      
      This patch has been successfully tested with the io_uring testcase on
      physical x86-64, ppc64le, IA-64 and PA-RISC machines. On PA-RISC the LTP
      mmmap testcases did not report any regressions.
      
      Cc: stable@vger.kernel.org # 6.4
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Reported-by: default avatarmatoro <matoro_mailinglist_kernel@matoro.tk>
      Fixes: d808459b ("io_uring: Adjust mapping wrt architecture aliasing requirements")
      Link: https://lore.kernel.org/r/20230721152432.196382-2-deller@gmx.deSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      32832a40
    • Mark Brown's avatar
      arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes · d4d5be94
      Mark Brown authored
      When we reconfigure the SVE vector length we discard the backing storage
      for the SVE vectors and then reallocate on next SVE use, leaving the SME
      specific state alone. This means that we do not enable SME traps if they
      were already disabled. That means that userspace code can enter streaming
      mode without trapping, putting the task in a state where if we try to save
      the state of the task we will fault.
      
      Since the ABI does not specify that changing the SVE vector length disturbs
      SME state, and since SVE code may not be aware of SME code in the process,
      we shouldn't simply discard any ZA state. Instead immediately reallocate
      the storage for SVE, and disable SME if we change the SVE vector length
      while there is no SME state active.
      
      Disabling SME traps on SVE vector length changes would make the overall
      code more complex since we would have a state where we have valid SME state
      stored but might get a SME trap.
      
      Fixes: 9e4ab6c8 ("arm64/sme: Implement vector length configuration prctl()s")
      Reported-by: default avatarDavid Spickett <David.Spickett@arm.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20230720-arm64-fix-sve-sme-vl-change-v2-1-8eea06b82d57@kernel.orgSigned-off-by: default avatarWill Deacon <will@kernel.org>
      d4d5be94
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-07-21' of git://anongit.freedesktop.org/drm/drm · f7e3a1ba
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Mostly amdgpu fixes, a couple of i915 fixes, some nouveau and then a
        few misc accel and other fixes.
      
        client:
         - memory leak fix
      
        dma-buf:
         - memory leak fix
      
        qaic:
         - bound check fixes
         - map_user_pages leak
         - int overflow fixes
      
        habanalabs:
         - debugfs stub helper
      
        nouveau:
         - aux event slot fixes
         - anx9805 cards fixes
      
        i915:
         - Add sentinel to xehp_oa_b_counters
         - Revert "drm/i915: use localized __diag_ignore_all() instead of per
           file"
      
        amdgpu:
         - More PCIe DPM fixes for Intel platforms
         - DCN3.0.1 fixes
         - Virtual display timer fix
         - Async flip fix
         - SMU13 clock reporting fixes
         - Add missing PSP firmware declaration
         - DP MST fix
         - DCN3.1.x fixes
         - Slab out of bounds fix"
      
      * tag 'drm-fixes-2023-07-21' of git://anongit.freedesktop.org/drm/drm: (31 commits)
        accel/habanalabs: add more debugfs stub helpers
        drm/nouveau/kms/nv50-: init hpd_irq_lock for PIOR DP
        drm/nouveau/disp: PIOR DP uses GPIO for HPD, not PMGR AUX interrupts
        drm/nouveau/i2c: fix number of aux event slots
        drm/amdgpu: use a macro to define no xcp partition case
        drm/amdgpu/vm: use the same xcp_id from root PD
        drm/amdgpu: fix slab-out-of-bounds issue in amdgpu_vm_pt_create
        drm/amdgpu: Allocate root PD on correct partition
        drm/amd/display: Keep PHY active for DP displays on DCN31
        drm/amd/display: Prevent vtotal from being set to 0
        drm/amd/display: Disable MPC split by default on special asic
        drm/amd/display: check TG is non-null before checking if enabled
        drm/amd/display: Add polling method to handle MST reply packet
        drm/amd/display: Clean up errors & warnings in amdgpu_dm.c
        drm/amdgpu: Allow the initramfs generator to include psp_13_0_6_ta
        drm/amdgpu/pm: make mclk consistent for smu 13.0.7
        drm/amdgpu/pm: make gfxclock consistent for sienna cichlid
        drm/amd/display: only accept async flips for fast updates
        drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel
        drm/amd/display: add DCN301 specific logic for OTG programming
        ...
      f7e3a1ba
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.5-2023-07-20' of... · 28801cc8
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.5-2023-07-20' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.5-2023-07-20:
      
      amdgpu:
      - More PCIe DPM fixes for Intel platforms
      - DCN3.0.1 fixes
      - Virtual display timer fix
      - Async flip fix
      - SMU13 clock reporting fixes
      - Add missing PSP firmware declaration
      - DP MST fix
      - DCN3.1.x fixes
      - Slab out of bounds fix
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230720133456.7826-1-alexander.deucher@amd.com
      28801cc8
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2023-07-20' of... · 534a7915
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2023-07-20' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Add sentinel to xehp_oa_b_counters [perf] (Andrzej Hajda)
      - Revert "drm/i915: use localized __diag_ignore_all() instead of per file" (Jani Nikula)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZLjuwhLhwab5B7RY@tursulin-desk
      534a7915
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2023-07-20' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · f4f19c03
      Dave Airlie authored
      Memory leak fixes in drm/client, memory access/leak fixes for
      accel/qaic, another leak fix in dma-buf and three nouveau fixes around
      hotplugging.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <mripard@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/fmj5nok7zggux2lcpdtls2iknweba54wfc6o4zxq6i6s3dgi2r@7z3eawwhyhen
      f4f19c03
    • Linus Torvalds's avatar
      Merge tag 'ata-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 12a5088e
      Linus Torvalds authored
      Pull ata fix from Damien Le Moal:
      
       - Add missing MODULE_DESCRIPTION() in the many of the protocol modules
         for the pata_parport driver to avoid compilation warnings with "make
         W=1".
      
      * tag 'ata-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_parport: Add missing protocol modules description
      12a5088e
  4. 20 Jul, 2023 12 commits