1. 22 Nov, 2022 1 commit
  2. 21 Nov, 2022 2 commits
    • ZhangPeng's avatar
      HID: core: fix shift-out-of-bounds in hid_report_raw_event · ec61b419
      ZhangPeng authored
      Syzbot reported shift-out-of-bounds in hid_report_raw_event.
      
      microsoft 0003:045E:07DA.0001: hid_field_extract() called with n (128) >
      32! (swapper/0)
      ======================================================================
      UBSAN: shift-out-of-bounds in drivers/hid/hid-core.c:1323:20
      shift exponent 127 is too large for 32-bit type 'int'
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted
      6.1.0-rc4-syzkaller-00159-g4bbf3422 #0
      Hardware name: Google Compute Engine/Google Compute Engine, BIOS
      Google 10/26/2022
      Call Trace:
       <IRQ>
       __dump_stack lib/dump_stack.c:88 [inline]
       dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
       ubsan_epilogue lib/ubsan.c:151 [inline]
       __ubsan_handle_shift_out_of_bounds+0x3a6/0x420 lib/ubsan.c:322
       snto32 drivers/hid/hid-core.c:1323 [inline]
       hid_input_fetch_field drivers/hid/hid-core.c:1572 [inline]
       hid_process_report drivers/hid/hid-core.c:1665 [inline]
       hid_report_raw_event+0xd56/0x18b0 drivers/hid/hid-core.c:1998
       hid_input_report+0x408/0x4f0 drivers/hid/hid-core.c:2066
       hid_irq_in+0x459/0x690 drivers/hid/usbhid/hid-core.c:284
       __usb_hcd_giveback_urb+0x369/0x530 drivers/usb/core/hcd.c:1671
       dummy_timer+0x86b/0x3110 drivers/usb/gadget/udc/dummy_hcd.c:1988
       call_timer_fn+0xf5/0x210 kernel/time/timer.c:1474
       expire_timers kernel/time/timer.c:1519 [inline]
       __run_timers+0x76a/0x980 kernel/time/timer.c:1790
       run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1803
       __do_softirq+0x277/0x75b kernel/softirq.c:571
       __irq_exit_rcu+0xec/0x170 kernel/softirq.c:650
       irq_exit_rcu+0x5/0x20 kernel/softirq.c:662
       sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1107
      ======================================================================
      
      If the size of the integer (unsigned n) is bigger than 32 in snto32(),
      shift exponent will be too large for 32-bit type 'int', resulting in a
      shift-out-of-bounds bug.
      Fix this by adding a check on the size of the integer (unsigned n) in
      snto32(). To add support for n greater than 32 bits, set n to 32, if n
      is greater than 32.
      
      Reported-by: syzbot+8b1641d2f14732407e23@syzkaller.appspotmail.com
      Fixes: dde5845a ("[PATCH] Generic HID layer - code split")
      Signed-off-by: default avatarZhangPeng <zhangpeng362@huawei.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ec61b419
    • José Expósito's avatar
      HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk · 3405a4be
      José Expósito authored
      Commit f7d8e387 ("HID: uclogic: Switch to Digitizer usage for
      styluses") changed the usage used in UCLogic from "Pen" to "Digitizer".
      
      However, the IS_INPUT_APPLICATION() macro evaluates to false for
      HID_DG_DIGITIZER causing issues with the XP-Pen Star G640 tablet.
      
      Add the HID_QUIRK_HIDINPUT_FORCE quirk to bypass the
      IS_INPUT_APPLICATION() check.
      Reported-by: default avatarTorge Matthies <openglfreak@googlemail.com>
      Reported-by: default avatarAlexander Zhang <alex@alexyzhang.dev>
      Tested-by: default avatarAlexander Zhang <alex@alexyzhang.dev>
      Signed-off-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      3405a4be
  3. 15 Nov, 2022 1 commit
  4. 14 Nov, 2022 3 commits
  5. 04 Nov, 2022 1 commit
  6. 02 Nov, 2022 2 commits
  7. 18 Oct, 2022 2 commits
  8. 14 Oct, 2022 4 commits
  9. 07 Oct, 2022 19 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2022100501' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 79d11de9
      Linus Torvalds authored
      Pull HID updates from Benjamin Tissoires:
      
       - handle of all Logitech Bluetooth HID++ devices in the Logitech HID++
         drivers (Bastien Nocera)
      
       - fix broken atomic checks in hid-multitouch by adding memory barriers
         (Andri Yngvason)
      
       - better handling of devices with AMD SFH1.1 (Basavaraj Natikar)
      
       - better support of Nintendo clone controllers (Icenowy Zheng and
         Johnothan King)
      
       - Support for various RC controllers (Marcus Folkesson)
      
       - Add UGEEv2 support in hid-uclogic (XP-PEN Deco Pro S and Parblo A610
         PRO) (José Expósito)
      
       - some conversions to use dev_groups (Greg Kroah-Hartman)
      
       - HID-BPF preparatory patches, mostly to convert blank defines as enums
         (Benjamin Tissoires)
      
      * tag 'for-linus-2022100501' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (38 commits)
        HID: wacom: add three styli to wacom_intuos_get_tool_type
        HID: amd_sfh: Handle condition of "no sensors" for SFH1.1
        HID: amd_sfh: Change dev_err to dev_dbg for additional debug info
        HID: nintendo: check analog user calibration for plausibility
        HID: nintendo: deregister home LED when it fails
        HID: roccat: Fix use-after-free in roccat_read()
        hid: topre: Add driver fixing report descriptor
        HID: multitouch: Add memory barriers
        HID: convert defines of HID class requests into a proper enum
        HID: export hid_report_type to uapi
        HID: core: store the unique system identifier in hid_device
        HID: Add driver for PhoenixRC Flight Controller
        HID: Add driver for VRC-2 Car Controller
        HID: sony: Fix double word in comments
        hid: hid-logitech-hidpp: avoid unnecessary assignments in hidpp_connect_event
        HID: logitech-hidpp: Detect hi-res scrolling support
        HID: logitech-hidpp: Remove hard-coded "Sw. Id." for HID++ 2.0 commands
        HID: logitech-hidpp: Fix "Sw. Id." for HID++ 2.0 commands
        HID: logitech-hidpp: Remove special-casing of Bluetooth devices
        HID: logitech-hidpp: Enable HID++ for all the Logitech Bluetooth devices
        ...
      79d11de9
    • Linus Torvalds's avatar
      Merge tag 'media/v6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 5d435a3f
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - New driver for Mediatek MDP V3
      
       - New driver for NXP i.MX DW100 dewarper
      
       - Zoran driver got promoted from staging
      
       - Hantro and related drivers got promoted from staging
      
       - Several VB1 drivers got moved to staging/deprecated (cpia2, fsl-viu,
         meye, saa7146, av7110, stkwebcam, tm6000, vpfe_capture, davinci,
         zr364xx)
      
       - Usual set of driver fixes, improvements and cleanups
      
      * tag 'media/v6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (107 commits)
        media: destage Hantro VPU driver
        media: platform: mtk-mdp3: add MediaTek MDP3 driver
        media: dt-binding: mediatek: add bindings for MediaTek CCORR and WDMA
        media: dt-binding: mediatek: add bindings for MediaTek MDP3 components
        media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init
        media: xilinx: video: Add 1X12 greyscale format
        media: xilinx: csi2rxss: Add 1X12 greyscale format
        media: staging: media: imx: imx7-media-csi: Increase video mem limit
        media: uvcvideo: Limit power line control for Sonix Technology
        media: uvcvideo: Use entity get_cur in uvc_ctrl_set
        media: uvcvideo: Fix typo 'the the' in comment
        media: uvcvideo: Use indexed loops in uvc_ctrl_init_ctrl()
        media: uvcvideo: Fix memory leak in uvc_gpio_parse
        media: renesas: vsp1: Add support for RZ/G2L VSPD
        media: renesas: vsp1: Add VSP1_HAS_NON_ZERO_LBA feature bit
        media: renesas: vsp1: Add support for VSP software version
        media: renesas: vsp1: Add support to deassert/assert reset line
        media: dt-bindings: media: renesas,vsp1: Document RZ/G2L VSPD bindings
        media: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start()
        media: amphion: fix a bug that vpu core may not resume after suspend
        ...
      5d435a3f
    • Linus Torvalds's avatar
      Merge tag 'ata-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 4078aa68
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
      
       - Print the timeout value for internal command failures due to a
         timeout (from Tomas)
      
       - Improve parameter names in ata_dev_set_feature() to clarify this
         function use (from Niklas)
      
       - Improve the ahci driver low power mode setting initialization to
         allow more flexibility for the user (from Rafael)
      
       - Several patches to remove redundant variables in libata-core,
         libata-eh and the pata_macio driver and to fix typos in comments
         (from Jinpeng, Shaomin, Ye)
      
       - Some code simplifications and macro renaming (for clarity) in various
         functions of libata-core (from me)
      
       - Add a missing check for a potential failure of sata_scr_read() in
         sata_print_link_status() (from Li)
      
       - Cleanup of libata Kconfig PATA_PLATFORM and PATA_OF_PLATFORM options
         (from Lukas)
      
       - Cleanups of ata dt-bindings and improvements of libahci_platform,
         ahci and libahci code (from Serge)
      
       - New driver for Synopsys AHCI SATA controllers, based of the generic
         ahci code (from Serge). One compilation warning fix is added for this
         driver (from me)
      
       - Several fixes to macros used to discover a drive capabilities to be
         consistent with the ACS specifications (from Niklas)
      
       - A couple of simplifcations to some libata functions, removing
         unnecessary arguments (from Niklas)
      
       - An improvements to libata-eh code to avoid unnecessary link reset
         when revalidating a drive after a failed command. In practice, this
         extra, unneeded reset, reset does not cause any arm beyond slightly
         slowing down error recovery (from Niklas)
      
      * tag 'ata-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (45 commits)
        ata: libata-eh: avoid needless hard reset when revalidating link
        ata: libata: drop superfluous ata_eh_analyze_tf() parameter
        ata: libata: drop superfluous ata_eh_request_sense() parameter
        ata: fix ata_id_has_dipm()
        ata: fix ata_id_has_ncq_autosense()
        ata: fix ata_id_has_devslp()
        ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting()
        ata: libata-eh: Remove the unneeded result variable
        ata: ahci_st: Enable compile test
        ata: ahci_st: Fix compilation warning
        MAINTAINERS: Add maintainers for DWC AHCI SATA driver
        ata: ahci-dwc: Add Baikal-T1 AHCI SATA interface support
        ata: ahci-dwc: Add platform-specific quirks support
        dt-bindings: ata: ahci: Add Baikal-T1 AHCI SATA controller DT schema
        ata: ahci: Add DWC AHCI SATA controller support
        ata: libahci_platform: Add function returning a clock-handle by id
        dt-bindings: ata: ahci: Add DWC AHCI SATA controller DT schema
        ata: ahci: Introduce firmware-specific caps initialization
        ata: ahci: Convert __ahci_port_base to accepting hpriv as arguments
        ata: libahci: Don't read AHCI version twice in the save-config method
        ...
      4078aa68
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-10-07-1' of git://anongit.freedesktop.org/drm/drm · 9d84bb40
      Linus Torvalds authored
      Pull drm fix from Dave Airlie:
       "This reverts the patch I found with rough bisection to instability
        around fences and the oops I got from netconsole.
      
        sched:
         - revert patch causing oopses"
      
      * tag 'drm-next-2022-10-07-1' of git://anongit.freedesktop.org/drm/drm:
        Revert "drm/sched: Use parent fence instead of finished"
      9d84bb40
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux · 7c989b1d
      Linus Torvalds authored
      Pull passthrough updates from Jens Axboe:
       "With these changes, passthrough NVMe support over io_uring now
        performs at the same level as block device O_DIRECT, and in many cases
        6-8% better.
      
        This contains:
      
         - Add support for fixed buffers for passthrough (Anuj, Kanchan)
      
         - Enable batched allocations and freeing on passthrough, similarly to
           what we support on the normal storage path (me)
      
         - Fix from Geert fixing an issue with !CONFIG_IO_URING"
      
      * tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux:
        io_uring: Add missing inline to io_uring_cmd_import_fixed() dummy
        nvme: wire up fixed buffer support for nvme passthrough
        nvme: pass ubuffer as an integer
        block: extend functionality to map bvec iterator
        block: factor out blk_rq_map_bio_alloc helper
        block: rename bio_map_put to blk_mq_map_bio_put
        nvme: refactor nvme_alloc_request
        nvme: refactor nvme_add_user_metadata
        nvme: Use blk_rq_map_user_io helper
        scsi: Use blk_rq_map_user_io helper
        block: add blk_rq_map_user_io
        io_uring: introduce fixed buffer support for io_uring_cmd
        io_uring: add io_uring_cmd_import_fixed
        nvme: enable batched completions of passthrough IO
        nvme: split out metadata vs non metadata end_io uring_cmd completions
        block: allow end_io based requests in the completion batch handling
        block: change request end_io handler to pass back a return value
        block: enable batched allocation for blk_mq_alloc_request()
        block: kill deprecated BUG_ON() in the flush handling
      7c989b1d
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux · 51338980
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - NVMe pull requests via Christoph:
            - handle number of queue changes in the TCP and RDMA drivers
              (Daniel Wagner)
            - allow changing the number of queues in nvmet (Daniel Wagner)
            - also consider host_iface when checking ip options (Daniel
              Wagner)
            - don't map pages which can't come from HIGHMEM (Fabio M. De
              Francesco)
            - avoid unnecessary flush bios in nvmet (Guixin Liu)
            - shrink and better pack the nvme_iod structure (Keith Busch)
            - add comment for unaligned "fake" nqn (Linjun Bao)
            - print actual source IP address through sysfs "address" attr
              (Martin Belanger)
            - various cleanups (Jackie Liu, Wolfram Sang, Genjian Zhang)
            - handle effects after freeing the request (Keith Busch)
            - copy firmware_rev on each init (Keith Busch)
            - restrict management ioctls to admin (Keith Busch)
            - ensure subsystem reset is single threaded (Keith Busch)
            - report the actual number of tagset maps in nvme-pci (Keith
              Busch)
            - small fabrics authentication fixups (Christoph Hellwig)
            - add common code for tagset allocation and freeing (Christoph
              Hellwig)
            - stop using the request_queue in nvmet (Christoph Hellwig)
            - set min_align_mask before calculating max_hw_sectors (Rishabh
              Bhatnagar)
            - send a rediscover uevent when a persistent discovery controller
              reconnects (Sagi Grimberg)
            - misc nvmet-tcp fixes (Varun Prakash, zhenwei pi)
      
       - MD pull request via Song:
            - Various raid5 fix and clean up, by Logan Gunthorpe and David
              Sloan.
            - Raid10 performance optimization, by Yu Kuai.
      
       - sbitmap wakeup hang fixes (Hugh, Keith, Jan, Yu)
      
       - IO scheduler switching quisce fix (Keith)
      
       - s390/dasd block driver updates (Stefan)
      
       - support for recovery for the ublk driver (ZiyangZhang)
      
       - rnbd drivers fixes and updates (Guoqing, Santosh, ye, Christoph)
      
       - blk-mq and null_blk map fixes (Bart)
      
       - various bcache fixes (Coly, Jilin, Jules)
      
       - nbd signal hang fix (Shigeru)
      
       - block writeback throttling fix (Yu)
      
       - optimize the passthrough mapping handling (me)
      
       - prepare block cgroups to being gendisk based (Christoph)
      
       - get rid of an old PSI hack in the block layer, moving it to the
         callers instead where it belongs (Christoph)
      
       - blk-throttle fixes and cleanups (Yu)
      
       - misc fixes and cleanups (Liu Shixin, Liu Song, Miaohe, Pankaj,
         Ping-Xiang, Wolfram, Saurabh, Li Jinlin, Li Lei, Lin, Li zeming,
         Miaohe, Bart, Coly, Gaosheng
      
      * tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux: (162 commits)
        sbitmap: fix lockup while swapping
        block: add rationale for not using blk_mq_plug() when applicable
        block: adapt blk_mq_plug() to not plug for writes that require a zone lock
        s390/dasd: use blk_mq_alloc_disk
        blk-cgroup: don't update the blkg lookup hint in blkg_conf_prep
        nvmet: don't look at the request_queue in nvmet_bdev_set_limits
        nvmet: don't look at the request_queue in nvmet_bdev_zone_mgmt_emulate_all
        blk-mq: use quiesced elevator switch when reinitializing queues
        block: replace blk_queue_nowait with bdev_nowait
        nvme: remove nvme_ctrl_init_connect_q
        nvme-loop: use the tagset alloc/free helpers
        nvme-loop: store the generic nvme_ctrl in set->driver_data
        nvme-loop: initialize sqsize later
        nvme-fc: use the tagset alloc/free helpers
        nvme-fc: store the generic nvme_ctrl in set->driver_data
        nvme-fc: keep ctrl->sqsize in sync with opts->queue_size
        nvme-rdma: use the tagset alloc/free helpers
        nvme-rdma: store the generic nvme_ctrl in set->driver_data
        nvme-tcp: use the tagset alloc/free helpers
        nvme-tcp: store the generic nvme_ctrl in set->driver_data
        ...
      51338980
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux · 0a78a376
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Add supported for more directly managed task_work running.
      
         This is beneficial for real world applications that end up issuing
         lots of system calls as part of handling work. Normal task_work will
         always execute as we transition in and out of the kernel, even for
         "unrelated" system calls. It's more efficient to defer the handling
         of io_uring's deferred work until the application wants it to be run,
         generally in batches.
      
         As part of ongoing work to write an io_uring network backend for
         Thrift, this has been shown to greatly improve performance. (Dylan)
      
       - Add IOPOLL support for passthrough (Kanchan)
      
       - Improvements and fixes to the send zero-copy support (Pavel)
      
       - Partial IO handling fixes (Pavel)
      
       - CQE ordering fixes around CQ ring overflow (Pavel)
      
       - Support sendto() for non-zc as well (Pavel)
      
       - Support sendmsg for zerocopy (Pavel)
      
       - Networking iov_iter fix (Stefan)
      
       - Misc fixes and cleanups (Pavel, me)
      
      * tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux: (56 commits)
        io_uring/net: fix notif cqe reordering
        io_uring/net: don't update msg_name if not provided
        io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL
        io_uring/rw: defer fsnotify calls to task context
        io_uring/net: fix fast_iov assignment in io_setup_async_msg()
        io_uring/net: fix non-zc send with address
        io_uring/net: don't skip notifs for failed requests
        io_uring/rw: don't lose short results on io_setup_async_rw()
        io_uring/rw: fix unexpected link breakage
        io_uring/net: fix cleanup double free free_iov init
        io_uring: fix CQE reordering
        io_uring/net: fix UAF in io_sendrecv_fail()
        selftest/net: adjust io_uring sendzc notif handling
        io_uring: ensure local task_work marks task as running
        io_uring/net: zerocopy sendmsg
        io_uring/net: combine fail handlers
        io_uring/net: rename io_sendzc()
        io_uring/net: support non-zerocopy sendto
        io_uring/net: refactor io_setup_async_addr
        io_uring/net: don't lose partial send_zc on fail
        ...
      0a78a376
    • Linus Torvalds's avatar
      Merge tag 'fs-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 188943a1
      Linus Torvalds authored
      Pull ext2, udf, reiserfs, and quota updates from Jan Kara:
      
       - Fix for udf to make splicing work again
      
       - More disk format sanity checks for ext2 to avoid crashes found by
         syzbot
      
       - More quota disk format checks to avoid crashes found by fuzzing
      
       - Reiserfs & isofs cleanups
      
      * tag 'fs-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Add more checking after reading from quota file
        quota: Replace all block number checking with helper function
        quota: Check next/prev free block number after reading from quota file
        ext2: Use kvmalloc() for group descriptor array
        ext2: Add sanity checks for group and filesystem size
        udf: Support splicing to file
        isofs: delete unnecessary checks before brelse()
        fs/reiserfs: replace ternary operator with min() and min_t()
      188943a1
    • Linus Torvalds's avatar
      Merge tag 'fsnotify-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · abf625dc
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Two cleanups for fsnotify code"
      
      * tag 'fsnotify-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: Remove obsoleted fanotify_event_has_path()
        fsnotify: remove unused declaration
      abf625dc
    • Linus Torvalds's avatar
      Merge tag '6.1-rc-ksmbd-fixes' of git://git.samba.org/ksmbd · 9f4b9bee
      Linus Torvalds authored
      Pull ksmbd updates from Steve French:
      
       - RDMA (smbdirect) fixes
      
       - fixes for SMB3.1.1 POSIX Extensions (especially for id mapping)
      
       - various casemapping fixes for mount and lookup
      
       - UID mapping fixes
      
       - fix confusing error message
      
       - protocol negotiation fixes, including NTLMSSP fix
      
       - two encryption fixes
      
       - directory listing fix
      
       - some cleanup fixes
      
      * tag '6.1-rc-ksmbd-fixes' of git://git.samba.org/ksmbd: (24 commits)
        ksmbd: validate share name from share config response
        ksmbd: call ib_drain_qp when disconnected
        ksmbd: make utf-8 file name comparison work in __caseless_lookup()
        ksmbd: Fix user namespace mapping
        ksmbd: hide socket error message when ipv6 config is disable
        ksmbd: reduce server smbdirect max send/receive segment sizes
        ksmbd: decrease the number of SMB3 smbdirect server SGEs
        ksmbd: Fix wrong return value and message length check in smb2_ioctl()
        ksmbd: set NTLMSSP_NEGOTIATE_SEAL flag to challenge blob
        ksmbd: fix encryption failure issue for session logoff response
        ksmbd: fix endless loop when encryption for response fails
        ksmbd: fill sids in SMB_FIND_FILE_POSIX_INFO response
        ksmbd: set file permission mode to match Samba server posix extension behavior
        ksmbd: change security id to the one samba used for posix extension
        ksmbd: update documentation
        ksmbd: casefold utf-8 share names and fix ascii lowercase conversion
        ksmbd: port to vfs{g,u}id_t and associated helpers
        ksmbd: fix incorrect handling of iterate_dir
        MAINTAINERS: remove Hyunchul Lee from ksmbd maintainers
        MAINTAINERS: Add Tom Talpey as ksmbd reviewer
        ...
      9f4b9bee
    • Dave Airlie's avatar
      Revert "drm/sched: Use parent fence instead of finished" · bafaf67c
      Dave Airlie authored
      This reverts commit e4dc45b1.
      
      This is causing instability on Linus' desktop, and I'm seeing
      oops with VK CTS runs.
      
      netconsole got me the following oops:
      [ 1234.778760] BUG: kernel NULL pointer dereference, address: 0000000000000088
      [ 1234.778782] #PF: supervisor read access in kernel mode
      [ 1234.778787] #PF: error_code(0x0000) - not-present page
      [ 1234.778791] PGD 0 P4D 0
      [ 1234.778798] Oops: 0000 [#1] PREEMPT SMP NOPTI
      [ 1234.778803] CPU: 7 PID: 805 Comm: systemd-journal Not tainted 6.0.0+ #2
      [ 1234.778809] Hardware name: System manufacturer System Product
      Name/PRIME X370-PRO, BIOS 5603 07/28/2020
      [ 1234.778813] RIP: 0010:drm_sched_job_done.isra.0+0xc/0x140 [gpu_sched]
      [ 1234.778828] Code: aa 0f 1d ce e9 57 ff ff ff 48 89 d7 e8 9d 8f 3f
      ce e9 4a ff ff ff 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 41 54 55 53
      48 89 fb <48> 8b af 88 00 00 00 f0 ff 8d f0 00 00 00 48 8b 85 80 01 00
      00 f0
      [ 1234.778834] RSP: 0000:ffffabe680380de0 EFLAGS: 00010087
      [ 1234.778839] RAX: ffffffffc04e9230 RBX: 0000000000000000 RCX: 0000000000000018
      [ 1234.778897] RDX: 00000ba278e8977a RSI: ffff953fb288b460 RDI: 0000000000000000
      [ 1234.778901] RBP: ffff953fb288b598 R08: 00000000000000e0 R09: ffff953fbd98b808
      [ 1234.778905] R10: 0000000000000000 R11: ffffabe680380ff8 R12: ffffabe680380e00
      [ 1234.778908] R13: 0000000000000001 R14: 00000000ffffffff R15: ffff953fbd9ec458
      [ 1234.778912] FS:  00007f35e7008580(0000) GS:ffff95428ebc0000(0000)
      knlGS:0000000000000000
      [ 1234.778916] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1234.778919] CR2: 0000000000000088 CR3: 000000010147c000 CR4: 00000000003506e0
      [ 1234.778924] Call Trace:
      [ 1234.778981]  <IRQ>
      [ 1234.778989]  dma_fence_signal_timestamp_locked+0x6a/0xe0
      [ 1234.778999]  dma_fence_signal+0x2c/0x50
      [ 1234.779005]  amdgpu_fence_process+0xc8/0x140 [amdgpu]
      [ 1234.779234]  sdma_v3_0_process_trap_irq+0x70/0x80 [amdgpu]
      [ 1234.779395]  amdgpu_irq_dispatch+0xa9/0x1d0 [amdgpu]
      [ 1234.779609]  amdgpu_ih_process+0x80/0x100 [amdgpu]
      [ 1234.779783]  amdgpu_irq_handler+0x1f/0x60 [amdgpu]
      [ 1234.779940]  __handle_irq_event_percpu+0x46/0x190
      [ 1234.779946]  handle_irq_event+0x34/0x70
      [ 1234.779949]  handle_edge_irq+0x9f/0x240
      [ 1234.779954]  __common_interrupt+0x66/0x100
      [ 1234.779960]  common_interrupt+0xa0/0xc0
      [ 1234.779965]  </IRQ>
      [ 1234.779968]  <TASK>
      [ 1234.779971]  asm_common_interrupt+0x22/0x40
      [ 1234.779976] RIP: 0010:finish_mkwrite_fault+0x22/0x110
      [ 1234.779981] Code: 1f 84 00 00 00 00 00 90 0f 1f 44 00 00 41 55 41
      54 55 48 89 fd 53 48 8b 07 f6 40 50 08 0f 84 eb 00 00 00 48 8b 45 30
      48 8b 18 <48> 89 df e8 66 bd ff ff 48 85 c0 74 0d 48 89 c2 83 e2 01 48
      83 ea
      [ 1234.779985] RSP: 0000:ffffabe680bcfd78 EFLAGS: 00000202
      
      Revert it for now and figure it out later.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bafaf67c
    • Linus Torvalds's avatar
      Merge tag 'iomap-6.1-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 4c861141
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "It's pretty quiet this time around -- a UAF bugfix and a new
        tracepoint so we can watch file writeback:
      
         - Fix a UAF bug when recording writeback mapping errors
      
         - Add a tracepoint so that we can monitor writeback mappings"
      
      * tag 'iomap-6.1-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: add a tracepoint for mappings returned by map_blocks
        iomap: iomap: fix memory corruption when recording errors during writeback
      4c861141
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · bc32a633
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "The first two changes involve files outside of fs/ext4:
      
         - submit_bh() can never return an error, so change it to return void,
           and remove the unused checks from its callers
      
         - fix I_DIRTY_TIME handling so it will be set even if the inode
           already has I_DIRTY_INODE
      
        Performance:
      
         - Always enable i_version counter (as btrfs and xfs already do).
           Remove some uneeded i_version bumps to avoid unnecessary nfs cache
           invalidations
      
         - Wake up journal waiters in FIFO order, to avoid some journal users
           from not getting a journal handle for an unfairly long time
      
         - In ext4_write_begin() allocate any necessary buffer heads before
           starting the journal handle
      
         - Don't try to prefetch the block allocation bitmaps for a read-only
           file system
      
        Bug Fixes:
      
         - Fix a number of fast commit bugs, including resources leaks and out
           of bound references in various error handling paths and/or if the
           fast commit log is corrupted
      
         - Avoid stopping the online resize early when expanding a file system
           which is less than 16TiB to a size greater than 16TiB
      
         - Fix apparent metadata corruption caused by a race with a metadata
           buffer head getting migrated while it was trying to be read
      
         - Mark the lazy initialization thread freezable to prevent suspend
           failures
      
         - Other miscellaneous bug fixes
      
        Cleanups:
      
         - Break up the incredibly long ext4_full_super() function by
           refactoring to move code into more understandable, smaller
           functions
      
         - Remove the deprecated (and ignored) noacl and nouser_attr mount
           option
      
         - Factor out some common code in fast commit handling
      
         - Other miscellaneous cleanups"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (53 commits)
        ext4: fix potential out of bound read in ext4_fc_replay_scan()
        ext4: factor out ext4_fc_get_tl()
        ext4: introduce EXT4_FC_TAG_BASE_LEN helper
        ext4: factor out ext4_free_ext_path()
        ext4: remove unnecessary drop path references in mext_check_coverage()
        ext4: update 'state->fc_regions_size' after successful memory allocation
        ext4: fix potential memory leak in ext4_fc_record_regions()
        ext4: fix potential memory leak in ext4_fc_record_modified_inode()
        ext4: remove redundant checking in ext4_ioctl_checkpoint
        jbd2: add miss release buffer head in fc_do_one_pass()
        ext4: move DIOREAD_NOLOCK setting to ext4_set_def_opts()
        ext4: remove useless local variable 'blocksize'
        ext4: unify the ext4 super block loading operation
        ext4: factor out ext4_journal_data_mode_check()
        ext4: factor out ext4_load_and_init_journal()
        ext4: factor out ext4_group_desc_init() and ext4_group_desc_free()
        ext4: factor out ext4_geometry_check()
        ext4: factor out ext4_check_feature_compatibility()
        ext4: factor out ext4_init_metadata_csum()
        ext4: factor out ext4_encoding_init()
        ...
      bc32a633
    • Linus Torvalds's avatar
      Merge tag 'affs-for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 7f198ba7
      Linus Torvalds authored
      Pull affs update from David Sterba:
       "One minor update for AFFS, switching away from strlcpy"
      
      * tag 'affs-for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: move from strlcpy with unused retval to strscpy
      7f198ba7
    • Linus Torvalds's avatar
      Merge tag 'for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 76e45035
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "There's a bunch of performance improvements, most notably the FIEMAP
        speedup, the new block group tree to speed up mount on large
        filesystems, more io_uring integration, some sysfs exports and the
        usual fixes and core updates.
      
        Summary:
      
        Performance:
      
         - outstanding FIEMAP speed improvement
            - algorithmic change how extents are enumerated leads to orders of
              magnitude speed boost (uncached and cached)
            - extent sharing check speedup (2.2x uncached, 3x cached)
            - add more cancellation points, allowing to interrupt seeking in
              files with large number of extents
            - more efficient hole and data seeking (4x uncached, 1.3x cached)
            - sample results:
      	    256M, 32K extents:   4s ->  29ms  (~150x)
      	    512M, 64K extents:  30s ->  59ms  (~550x)
      	    1G,  128K extents: 225s -> 120ms (~1800x)
      
         - improved inode logging, especially for directories (on dbench
           workload throughput +25%, max latency -21%)
      
         - improved buffered IO, remove redundant extent state tracking,
           lowering memory consumption and avoiding rb tree traversal
      
         - add sysfs tunable to let qgroup temporarily skip exact accounting
           when deleting snapshot, leading to a speedup but requiring a rescan
           after that, will be used by snapper
      
         - support io_uring and buffered writes, until now it was just for
           direct IO, with the no-wait semantics implemented in the buffered
           write path it now works and leads to speed improvement in IOPS
           (2x), throughput (2.2x), latency (depends, 2x to 150x)
      
         - small performance improvements when dropping and searching for
           extent maps as well as when flushing delalloc in COW mode
           (throughput +5MB/s)
      
        User visible changes:
      
         - new incompatible feature block-group-tree adding a dedicated tree
           for tracking block groups, this allows a much faster load during
           mount and avoids seeking unlike when it's scattered in the extent
           tree items
            - this reduces mount time for many-terabyte sized filesystems
            - conversion tool will be provided so existing filesystem can also
              be updated in place
            - to reduce test matrix and feature combinations requires no-holes
              and free-space-tree (mkfs defaults since 5.15)
      
         - improved reporting of super block corruption detected by scrub
      
         - scrub also tries to repair super block and does not wait until next
           commit
      
         - discard stats and tunables are exported in sysfs
           (/sys/fs/btrfs/FSID/discard)
      
         - qgroup status is exported in sysfs
           (/sys/sys/fs/btrfs/FSID/qgroups/)
      
         - verify that super block was not modified when thawing filesystem
      
        Fixes:
      
         - FIEMAP fixes
            - fix extent sharing status, does not depend on the cached status
              where merged
            - flush delalloc so compressed extents are reported correctly
      
         - fix alignment of VMA for memory mapped files on THP
      
         - send: fix failures when processing inodes with no links (orphan
           files and directories)
      
         - fix race between quota enable and quota rescan ioctl
      
         - handle more corner cases for read-only compat feature verification
      
         - fix missed extent on fsync after dropping extent maps
      
        Core:
      
         - lockdep annotations to validate various transactions states and
           state transitions
      
         - preliminary support for fs-verity in send
      
         - more effective memory use in scrub for subpage where sector is
           smaller than page
      
         - block group caching progress logic has been removed, load is now
           synchronous
      
         - simplify end IO callbacks and bio handling, use chained bios
           instead of own tracking
      
         - add no-wait semantics to several functions (tree search, nocow,
           flushing, buffered write
      
         - cleanups and refactoring
      
        MM changes:
      
         - export balance_dirty_pages_ratelimited_flags"
      
      * tag 'for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (177 commits)
        btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer
        btrfs: drop extent map range more efficiently
        btrfs: avoid pointless extent map tree search when flushing delalloc
        btrfs: remove unnecessary next extent map search
        btrfs: remove unnecessary NULL pointer checks when searching extent maps
        btrfs: assert tree is locked when clearing extent map from logging
        btrfs: remove unnecessary extent map initializations
        btrfs: remove the refcount warning/check at free_extent_map()
        btrfs: add helper to replace extent map range with a new extent map
        btrfs: move open coded extent map tree deletion out of inode eviction
        btrfs: use cond_resched_rwlock_write() during inode eviction
        btrfs: use extent_map_end() at btrfs_drop_extent_map_range()
        btrfs: move btrfs_drop_extent_cache() to extent_map.c
        btrfs: fix missed extent on fsync after dropping extent maps
        btrfs: remove stale prototype of btrfs_write_inode
        btrfs: enable nowait async buffered writes
        btrfs: assert nowait mode is not used for some btree search functions
        btrfs: make btrfs_buffered_write nowait compatible
        btrfs: plumb NOWAIT through the write path
        btrfs: make lock_and_cleanup_extent_if_need nowait compatible
        ...
      76e45035
    • Linus Torvalds's avatar
      Merge tag 'pull-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4c0ed7d8
      Linus Torvalds authored
      Pull vfs constification updates from Al Viro:
       "whack-a-mole: constifying struct path *"
      
      * tag 'pull-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ecryptfs: constify path
        spufs: constify path
        nd_jump_link(): constify path
        audit_init_parent(): constify path
        __io_setxattr(): constify path
        do_proc_readlink(): constify path
        overlayfs: constify path
        fs/notify: constify path
        may_linkat(): constify path
        do_sys_name_to_handle(): constify path
        ->getprocattr(): attribute name is const char *, TYVM...
      4c0ed7d8
    • Linus Torvalds's avatar
      Merge tag 'pull-tomoyo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1586a703
      Linus Torvalds authored
      Pull misc tomoyo changes from Al Viro:
       "A couple of assorted tomoyo patches"
      
      * tag 'pull-tomoyo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        tomoyo: struct path it might get from LSM callers won't have NULL dentry or mnt
        tomoyo: use vsnprintf() properly
      1586a703
    • Linus Torvalds's avatar
      Merge tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ab296221
      Linus Torvalds authored
      Pull file_inode() updates from Al Vrio:
       "whack-a-mole: cropped up open-coded file_inode() uses..."
      
      * tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        orangefs: use ->f_mapping
        _nfs42_proc_copy(): use ->f_mapping instead of file_inode()->i_mapping
        dma_buf: no need to bother with file_inode()->i_mapping
        nfs_finish_open(): don't open-code file_inode()
        bprm_fill_uid(): don't open-code file_inode()
        sgx: use ->f_mapping...
        exfat_iterate(): don't open-code file_inode(file)
        ibmvmc: don't open-code file_inode()
      ab296221
    • Linus Torvalds's avatar
      Merge tag 'pull-file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7a3353c5
      Linus Torvalds authored
      Pull vfs file updates from Al Viro:
       "struct file-related stuff"
      
      * tag 'pull-file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        dma_buf_getfile(): don't bother with ->f_flags reassignments
        Change calling conventions for filldir_t
        locks: fix TOCTOU race when granting write lease
      7a3353c5
  10. 06 Oct, 2022 5 commits
    • Linus Torvalds's avatar
      Merge tag 'pull-d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 70df64d6
      Linus Torvalds authored
      Pull vfs d_path updates from Al Viro.
      
      * tag 'pull-d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        d_path.c: typo fix...
        dynamic_dname(): drop unused dentry argument
      70df64d6
    • Linus Torvalds's avatar
      Merge tag 'pull-inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 46811b5c
      Linus Torvalds authored
      Pull vfs inode update from Al Viro:
       "Saner inode_init_always(), also fixing a nilfs problem"
      
      * tag 'pull-inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: fix UAF/GPF bug in nilfs_mdt_destroy
      46811b5c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-6.1-rc1' of... · ffb39098
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "Several documentation fixes, UML related cleanups, and a feature to
        enable/disable KUnit tests
      
        This includes the change to rename all_test_uml.config, and use it for
        '--alltests'. Note: if anyone was using all_tests_uml.config, this
        change breaks them.
      
        This change simplifies the usage and eliminates the need to type:
      
           --kunitconfig=tools/testing/kunit/configs/all_tests_uml.config
      
        A simple workaround to create a symlink to the new name can solve the
        problem for anyone using all_tests_uml.config.
      
        all_tests_uml.config should work across ~all architectures"
      
      * tag 'linux-kselftest-kunit-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        Documentation: Kunit: Use full path to .kunitconfig
        kunit: tool: rename all_test_uml.config, use it for --alltests
        kunit: tool: remove UML specific options from all_tests_uml.config
        lib: stackinit: update reference to kunit-tool
        lib: overflow: update reference to kunit-tool
        Documentation: KUnit: update links in the index page
        Documentation: KUnit: add intro to the getting-started page
        Documentation: KUnit: Reword start guide for selecting tests
        Documentation: KUnit: add note about mrproper in start.rst
        Documentation: KUnit: avoid repeating "kunit.py run" in start.rst
        Documentation: KUnit: remove duplicated docs for kunit_tool
        Documentation: Kunit: Add ref for other kinds of tests
        Documentation: KUnit: Fix non-uml anchor
        Documentation: Kunit: Fix inconsistent titles
        Documentation: kunit: fix trivial typo
        kunit: no longer call module_info(test, "Y") for kunit modules
        kunit: add kunit.enable to enable/disable KUnit test
        kunit: tool: make --raw_output=kunit (aka --raw_output) preserve leading spaces
      ffb39098
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-6.1-rc1' of... · dd42d9c3
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
       "Fixes and new tests:
      
         - Add an amd-pstate-ut test module, used by kselftest to unit test
           amd-pstate functionality
      
         - Fixes and cleanups to to cpu-hotplug to delete the fault injection
           test code
      
         - Improvements to vm test to use top_srcdir for builds"
      
      * tag 'linux-kselftest-next-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        docs:kselftest: fix kselftest_module.h path of example module
        cpufreq: amd-pstate: Add explanation for X86_AMD_PSTATE_UT
        selftests/cpu-hotplug: Add log info when test success
        selftests/cpu-hotplug: Reserve one cpu online at least
        selftests/cpu-hotplug: Delete fault injection related code
        selftests/cpu-hotplug: Use return instead of exit
        selftests/cpu-hotplug: Correct log info
        cpufreq: amd-pstate: modify type in argument 2 for filp_open
        Documentation: amd-pstate: Add unit test introduction
        selftests: amd-pstate: Add test trigger for amd-pstate driver
        cpufreq: amd-pstate: Add test module for amd-pstate driver
        cpufreq: amd-pstate: Expose struct amd_cpudata
        selftests/vm: use top_srcdir instead of recomputing relative paths
      dd42d9c3
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 93ed07a2
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "This contains a series from Linus Walleij to unify the linux/io.h
        interface by making the ia64, alpha, parisc and sparc include
        asm-generic/io.h.
      
        All functions provided by the generic header are now available to all
        drivers, but the architectures can still override this.
      
        For the moment, mips and sh still don't include asm-generic/io.h but
        provide a full set of functions themselves.
      
        There are also a few minor cleanups unrelated to this"
      
      * tag 'asm-generic-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        alpha: add full ioread64/iowrite64 implementation
        parisc: Drop homebrewn io[read|write]64_[lo_hi|hi_lo]
        parisc: hide ioread64 declaration on 32-bit
        ia64: export memory_add_physaddr_to_nid to fix cxl build error
        asm-generic: Remove empty #ifdef SA_RESTORER
        parisc: Use the generic IO helpers
        parisc: Remove 64bit access on 32bit machines
        sparc: Fix the generic IO helpers
        alpha: Use generic <asm-generic/io.h>
      93ed07a2