Skip to content
Snippets Groups Projects
  1. Dec 01, 2024
  2. Nov 30, 2024
    • Linus Torvalds's avatar
      Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux · cfd47302
      Linus Torvalds authored
      Pull more block updates from Jens Axboe:
      
       - NVMe pull request via Keith:
            - Use correct srcu list traversal (Breno)
            - Scatter-gather support for metadata (Keith)
            - Fabrics shutdown race condition fix (Nilay)
            - Persistent reservations updates (Guixin)
      
       - Add the required bits for MD atomic write support for raid0/1/10
      
       - Correct return value for unknown opcode in ublk
      
       - Fix deadlock with zone revalidation
      
       - Fix for the io priority request vs bio cleanups
      
       - Use the correct unsigned int type for various limit helpers
      
       - Fix for a race in loop
      
       - Cleanup blk_rq_prep_clone() to prevent uninit-value warning and make
         it easier for actual humans to read
      
       - Fix potential UAF when iterating tags
      
       - A few fixes for bfq-iosched UAF issues
      
       - Fix for brd discard not decrementing the allocated page count
      
       - Various little fixes and cleanups
      
      * tag 'block-6.13-20242901' of git://git.kernel.dk/linux: (36 commits)
        brd: decrease the number of allocated pages which discarded
        block, bfq: fix bfqq uaf in bfq_limit_depth()
        block: Don't allow an atomic write be truncated in blkdev_write_iter()
        mq-deadline: don't call req_get_ioprio from the I/O completion handler
        block: Prevent potential deadlock in blk_revalidate_disk_zones()
        block: Remove extra part pointer NULLify in blk_rq_init()
        nvme: tuning pr code by using defined structs and macros
        nvme: introduce change ptpl and iekey definition
        block: return bool from get_disk_ro and bdev_read_only
        block: remove a duplicate definition for bdev_read_only
        block: return bool from blk_rq_aligned
        block: return unsigned int from blk_lim_dma_alignment_and_pad
        block: return unsigned int from queue_dma_alignment
        block: return unsigned int from bdev_io_opt
        block: req->bio is always set in the merge code
        block: don't bother checking the data direction for merges
        block: blk-mq: fix uninit-value in blk_rq_prep_clone and refactor
        Revert "block, bfq: merge bfq_release_process_ref() into bfq_put_cooperator()"
        md/raid10: Atomic write support
        md/raid1: Atomic write support
        ...
      cfd47302
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.13-20242901' of git://git.kernel.dk/linux · dd54fcce
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
      
       - Remove a leftover struct from when the cqwait registered waiting was
         transitioned to regions.
      
       - Fix for an issue introduced in this merge window, where nop->fd might
         be used uninitialized. Ensure it's always set.
      
       - Add capping of the task_work run in local task_work mode, to prevent
         bursty and long chains from adding too much latency.
      
       - Work around xa_store() leaving ->head non-NULL if it encounters an
         allocation error during storing. Just a debug trigger, and can go
         away once xa_store() behaves in a more expected way for this
         condition. Not a major thing as it basically requires fault injection
         to trigger it.
      
       - Fix a few mapping corner cases
      
       - Fix KCSAN complaint on reading the table size post unlock. Again not
         a "real" issue, but it's easy to silence by just keeping the reading
         inside the lock that protects it.
      
      * tag 'io_uring-6.13-20242901' of git://git.kernel.dk/linux:
        io_uring/tctx: work around xa_store() allocation error issue
        io_uring: fix corner case forgetting to vunmap
        io_uring: fix task_work cap overshooting
        io_uring: check for overflows in io_pin_pages
        io_uring/nop: ensure nop->fd is always initialized
        io_uring: limit local tw done
        io_uring: add io_local_work_pending()
        io_uring/region: return negative -E2BIG in io_create_region()
        io_uring: protect register tracing
        io_uring: remove io_uring_cqwait_reg_arg
      dd54fcce
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.13-2024-11-30' of git://git.infradead.org/users/hch/dma-mapping · 133577ca
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
      
       - fix physical address calculation for struct dma_debug_entry (Fedor
         Pchelkin)
      
      * tag 'dma-mapping-6.13-2024-11-30' of git://git.infradead.org/users/hch/dma-mapping:
        dma-debug: fix physical address calculation for struct dma_debug_entry
      133577ca
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c4bb3a2d
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
      
       - ARM fixes
      
       - RISC-V Svade and Svadu (accessed and dirty bit) extension support for
         host and guest
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: riscv: selftests: Add Svade and Svadu Extension to get-reg-list test
        RISC-V: KVM: Add Svade and Svadu Extensions Support for Guest/VM
        dt-bindings: riscv: Add Svade and Svadu Entries
        RISC-V: Add Svade and Svadu Extensions Support
        KVM: arm64: Use MDCR_EL2.HPME to evaluate overflow of hyp counters
        KVM: arm64: Ignore PMCNTENSET_EL0 while checking for overflow status
        KVM: arm64: Mark set_sysreg_masks() as inline to avoid build failure
        KVM: arm64: vgic-its: Add stronger type-checking to the ITS entry sizes
        KVM: arm64: vgic: Kill VGIC_MAX_PRIVATE definition
        KVM: arm64: vgic: Make vgic_get_irq() more robust
        KVM: arm64: vgic-v3: Sanitise guest writes to GICR_INVLPIR
      c4bb3a2d
    • Linus Torvalds's avatar
      Merge tag 'sh-for-v6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux · 0ff86d8d
      Linus Torvalds authored
      Pull sh updates from John Paul Adrian Glaubitz:
       "Two small fixes.
      
        The first one by Huacai Chen addresses a runtime warning when
        CONFIG_CPUMASK_OFFSTACK and CONFIG_DEBUG_PER_CPU_MAPS are selected
        which occurs because the cpuinfo code on sh incorrectly uses NR_CPUS
        when iterating CPUs instead of the runtime limit nr_cpu_ids.
      
        A second fix by Dan Carpenter fixes a use-after-free bug in
        register_intc_controller() which occurred as a result of improper
        error handling in the interrupt controller driver code when
        registering an interrupt controller during plat_irq_setup() on sh"
      
      * tag 'sh-for-v6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux:
        sh: intc: Fix use-after-free bug in register_intc_controller()
        sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
      0ff86d8d
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 50ee4a6f
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Deselect ARCH_CORRECT_STACKTRACE_ON_KRETPROBE so that tests depending
         on it don't run (and fail) on arm64
      
       - Fix lockdep assert in the Arm SMMUv3 PMU driver
      
       - Fix the port and device ID bits setting in the Arm CMN perf driver
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        perf/arm-cmn: Ensure port and device id bits are set properly
        perf/arm-smmuv3: Fix lockdep assert in ->event_init()
        arm64: disable ARCH_CORRECT_STACKTRACE_ON_KRETPROBE tests
      50ee4a6f
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 6a34dfa1
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Add generic support for built-in boot DTB files
      
       - Enable TAB cycling for dialog buttons in nconfig
      
       - Fix issues in streamline_config.pl
      
       - Refactor Kconfig
      
       - Add support for Clang's AutoFDO (Automatic Feedback-Directed
         Optimization)
      
       - Add support for Clang's Propeller, a profile-guided optimization.
      
       - Change the working directory to the external module directory for M=
         builds
      
       - Support building external modules in a separate output directory
      
       - Enable objtool for *.mod.o and additional kernel objects
      
       - Use lz4 instead of deprecated lz4c
      
       - Work around a performance issue with "git describe"
      
       - Refactor modpost
      
      * tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (85 commits)
        kbuild: rename .tmp_vmlinux.kallsyms0.syms to .tmp_vmlinux0.syms
        gitignore: Don't ignore 'tags' directory
        kbuild: add dependency from vmlinux to resolve_btfids
        modpost: replace tdb_hash() with hash_str()
        kbuild: deb-pkg: add python3:native to build dependency
        genksyms: reduce indentation in export_symbol()
        modpost: improve error messages in device_id_check()
        modpost: rename alias symbol for MODULE_DEVICE_TABLE()
        modpost: rename variables in handle_moddevtable()
        modpost: move strstarts() to modpost.h
        modpost: convert do_usb_table() to a generic handler
        modpost: convert do_of_table() to a generic handler
        modpost: convert do_pnp_device_entry() to a generic handler
        modpost: convert do_pnp_card_entries() to a generic handler
        modpost: call module_alias_printf() from all do_*_entry() functions
        modpost: pass (struct module *) to do_*_entry() functions
        modpost: remove DEF_FIELD_ADDR_VAR() macro
        modpost: deduplicate MODULE_ALIAS() for all drivers
        modpost: introduce module_alias_printf() helper
        modpost: remove unnecessary check in do_acpi_entry()
        ...
      6a34dfa1
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 0e287d31
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "New drivers:
         - Amlogic A4 and A5 RTC
         - Marvell 88PM886 PMIC RTC
         - Renesas RTCA-3 for Renesas RZ/G3S
      
        Driver updates:
         - ab-eoz9: fix temperature and alarm support
         - cmos: improve locking behaviour
         - isl12022: add alarm support
         - m48t59: improve epoch handling
         - mt6359: add range
         - rzn1: fix BCD conversions and simplify driver"
      
      * tag 'rtc-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (38 commits)
        rtc: ab-eoz9: don't fail temperature reads on undervoltage notification
        rtc: rzn1: reduce register access
        rtc: rzn1: drop superfluous wday calculation
        m68k: mvme147, mvme16x: Adopt rtc-m48t59 platform driver
        rtc: brcmstb-waketimer: don't include 'pm_wakeup.h' directly
        rtc: m48t59: Use platform_data struct for year offset value
        rtc: ab-eoz9: fix abeoz9_rtc_read_alarm
        rtc: rv3028: fix RV3028_TS_COUNT type
        rtc: rzn1: update Michel's email
        rtc: rzn1: fix BCD to rtc_time conversion errors
        rtc: amlogic-a4: fix compile error
        rtc: amlogic-a4: drop error messages
        MAINTAINERS: Add an entry for Amlogic RTC driver
        rtc: support for the Amlogic on-chip RTC
        dt-bindings: rtc: Add Amlogic A4 and A5 RTC
        rtc: add driver for Marvell 88PM886 PMIC RTC
        rtc: check if __rtc_read_time was successful in rtc_timer_do_work()
        rtc: pcf8563: Switch to regmap
        rtc: pcf8563: Sort headers alphabetically
        rtc: abx80x: Fix WDT bit position of the status register
        ...
      0e287d31
    • Linus Torvalds's avatar
      Merge tag 'uml-for-linus-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux · 831c1926
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Lots of cleanups, mostly from Benjamin Berg and Tiwei Bie
      
       - Removal of unused code
      
       - Fix for sparse warnings
      
       - Cleanup around stub_exe()
      
      * tag 'uml-for-linus-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux: (68 commits)
        hostfs: Fix the NULL vs IS_ERR() bug for __filemap_get_folio()
        um: move thread info into task
        um: Always dump trace for specified task in show_stack
        um: vector: Do not use drvdata in release
        um: net: Do not use drvdata in release
        um: ubd: Do not use drvdata in release
        um: ubd: Initialize ubd's disk pointer in ubd_add
        um: virtio_uml: query the number of vqs if supported
        um: virtio_uml: fix call_fd IRQ allocation
        um: virtio_uml: send SET_MEM_TABLE message with the exact size
        um: remove broken double fault detection
        um: remove duplicate UM_NSEC_PER_SEC definition
        um: remove file sync for stub data
        um: always include kconfig.h and compiler-version.h
        um: set DONTDUMP and DONTFORK flags on KASAN shadow memory
        um: fix sparse warnings in signal code
        um: fix sparse warnings from regset refactor
        um: Remove double zero check
        um: fix stub exe build with CONFIG_GCOV
        um: Use os_set_pdeathsig helper in winch thread/process
        ...
      831c1926
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 04b43ea3
      Linus Torvalds authored
      Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
       "JFFS2:
         - Bug fix for rtime compression
         - Various cleanups
      
        UBI:
         - Cleanups for fastmap and wear leveling
      
        UBIFS:
         - Add support for FS_IOC_GETFSSYSFSPATH
         - Remove dead ioctl code
         - Fix UAF in ubifs_tnc_end_commit()"
      
      * tag 'ubifs-for-linus-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: (25 commits)
        ubifs: Fix uninitialized use of err in ubifs_jnl_write_inode()
        jffs2: Prevent rtime decompress memory corruption
        jffs2: remove redundant check on outpos > pos
        fs: jffs2: Fix inconsistent indentation in jffs2_mark_node_obsolete
        jffs2: Correct some typos in comments
        jffs2: fix use of uninitialized variable
        jffs2: Use str_yes_no() helper function
        mtd: ubi: remove redundant check on bytes_left at end of function
        mtd: ubi: fix unreleased fwnode_handle in find_volume_fwnode()
        ubifs: authentication: Fix use-after-free in ubifs_tnc_end_commit
        ubi: fastmap: Fix duplicate slab cache names while attaching
        ubifs: xattr: remove unused anonymous enum
        ubifs: Reduce kfree() calls in ubifs_purge_xattrs()
        ubifs: Call iput(xino) only once in ubifs_purge_xattrs()
        ubi: wl: Close down wear-leveling before nand is suspended
        mtd: ubi: Rmove unused declaration in header file
        ubifs: Correct the total block count by deducting journal reservation
        ubifs: Convert to use ERR_CAST()
        ubifs: add support for FS_IOC_GETFSSYSFSPATH
        ubifs: remove unused ioctl flags GETFLAGS/SETFLAGS
        ...
      04b43ea3
    • Linus Torvalds's avatar
      Merge tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux · e864effa
      Linus Torvalds authored
      Pull 9p updates from Dominique Martinet:
      
       - usbg: fix alloc failure handling & build-as-module
      
       - xen: couple of fixes
      
       - v9fs_cache_register/unregister code cleanup
      
      * tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux:
        net/9p/usbg: allow building as standalone module
        9p/xen: fix release of IRQ
        9p/xen: fix init sequence
        net/9p/usbg: fix handling of the failed kzalloc() memory allocation
        fs/9p: replace functions v9fs_cache_{register|unregister} with direct calls
      e864effa
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.13-rc1' of https://github.com/ceph/ceph-client · 9d0ad045
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "A fix for the mount "device" string parser from Patrick and two cred
        reference counting fixups from Max, marked for stable.
      
        Also included a number of cleanups and a tweak to MAINTAINERS to avoid
        unnecessarily CCing netdev list"
      
      * tag 'ceph-for-6.13-rc1' of https://github.com/ceph/ceph-client:
        ceph: fix cred leak in ceph_mds_check_access()
        ceph: pass cred pointer to ceph_mds_auth_match()
        ceph: improve caps debugging output
        ceph: correct ceph_mds_cap_peer field name
        ceph: correct ceph_mds_cap_item field name
        ceph: miscellaneous spelling fixes
        ceph: Use strscpy() instead of strcpy() in __get_snap_name()
        ceph: Use str_true_false() helper in status_show()
        ceph: requalify some char pointers as const
        ceph: extract entity name from device id
        MAINTAINERS: exclude net/ceph from networking
        ceph: Remove fs/ceph deadcode
        libceph: Remove unused ceph_crypto_key_encode
        libceph: Remove unused ceph_osdc_watch_check
        libceph: Remove unused pagevec functions
        libceph: Remove unused ceph_pagelist functions
      9d0ad045
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-6.13-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · baf67f6a
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Bugfixes:
         - nfs/localio: fix for a memory corruption in nfs_local_read_done
         - Revert "nfs: don't reuse partially completed requests in
           nfs_lock_and_join_requests"
         - nfsv4:
             - ignore SB_RDONLY when mounting nfs
             - Fix a use-after-free problem in open()
         - sunrpc:
             - clear XPRT_SOCK_UPD_TIMEOUT when reseting the transport
             - timeout and cancel TLS handshake with -ETIMEDOUT
             - fix one UAF issue caused by sunrpc kernel tcp socket
             - Fix a hang in TLS sock_close if sk_write_pending
         - pNFS/blocklayout: Fix device registration issues
      
        Features and cleanups:
         - localio cleanups from Mike Snitzer
         - Clean up refcounting on the nfs version modules
         - __counted_by() annotations
         - nfs: make processes that are waiting for an I/O lock killable"
      
      * tag 'nfs-for-6.13-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (24 commits)
        fs/nfs/io: make nfs_start_io_*() killable
        nfs/blocklayout: Limit repeat device registration on failure
        nfs/blocklayout: Don't attempt unregister for invalid block device
        sunrpc: fix one UAF issue caused by sunrpc kernel tcp socket
        SUNRPC: timeout and cancel TLS handshake with -ETIMEDOUT
        sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport
        nfs: ignore SB_RDONLY when mounting nfs
        Revert "nfs: don't reuse partially completed requests in nfs_lock_and_join_requests"
        Revert "fs: nfs: fix missing refcnt by replacing folio_set_private by folio_attach_private"
        nfs/localio: must clear res.replen in nfs_local_read_done
        NFSv4.0: Fix a use-after-free problem in the asynchronous open()
        NFSv4.0: Fix the wake up of the next waiter in nfs_release_seqid()
        SUNRPC: Fix a hang in TLS sock_close if sk_write_pending
        sunrpc: remove newlines from tracepoints
        nfs: Annotate struct pnfs_commit_array with __counted_by()
        nfs/localio: eliminate need for nfs_local_fsync_work forward declaration
        nfs/localio: remove extra indirect nfs_to call to check {read,write}_iter
        nfs/localio: eliminate unnecessary kref in nfs_local_fsync_ctx
        nfs/localio: remove redundant suid/sgid handling
        NFS: Implement get_nfs_version()
        ...
      baf67f6a
    • Linus Torvalds's avatar
      Merge tag '6.13-rc-part2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 0235da0f
      Linus Torvalds authored
      Pull smb client updates from Steve French:
      
       - directory lease fixes
      
       - password rotation fixes
      
       - reconnect fix
      
       - fix for SMB3.02 mounts
      
       - DFS (global namespace) fixes
      
       - fixes for special file handling (most relating to better handling
         various types of symlinks)
      
       - two minor cleanups
      
      * tag '6.13-rc-part2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6: (22 commits)
        cifs: update internal version number
        cifs: unlock on error in smb3_reconfigure()
        cifs: during remount, make sure passwords are in sync
        cifs: support mounting with alternate password to allow password rotation
        smb: Initialize cfid->tcon before performing network ops
        smb: During unmount, ensure all cached dir instances drop their dentry
        smb: client: fix noisy message when mounting shares
        smb: client: don't try following DFS links in cifs_tree_connect()
        smb: client: allow reconnect when sending ioctl
        smb: client: get rid of @nlsc param in cifs_tree_connect()
        smb: client: allow more DFS referrals to be cached
        cifs: Fix parsing reparse point with native symlink in SMB1 non-UNICODE session
        cifs: Validate content of WSL reparse point buffers
        cifs: Improve guard for excluding $LXDEV xattr
        cifs: Add support for parsing WSL-style symlinks
        cifs: Validate content of native symlink
        cifs: Fix parsing native symlinks relative to the export
        smb: client: fix NULL ptr deref in crypto_aead_setkey()
        Update misleading comment in cifs_chan_update_iface
        smb: client: change return value in open_cached_dir_by_dentry() if !cfids
        ...
      0235da0f
    • Linus Torvalds's avatar
      Merge tag '6.13-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · 109daa23
      Linus Torvalds authored
      Pull smb server updates from Steve French:
      
       - fix use after free due to race in ksmd workqueue handler
      
       - debugging improvements
      
       - fix incorrectly formatted response when client attempts SMB1
      
       - improve memory allocation to reduce chance of OOM
      
       - improve delays between retries when killing sessions
      
      * tag '6.13-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: fix use-after-free in SMB request handling
        ksmbd: add debug print for pending request during server shutdown
        ksmbd: add netdev-up/down event debug print
        ksmbd: add debug prints to know what smb2 requests were received
        ksmbd: add debug print for rdma capable
        ksmbd: use msleep instaed of schedule_timeout_interruptible()
        ksmbd: use __GFP_RETRY_MAYFAIL
        ksmbd: fix malformed unsupported smb1 negotiate response
      109daa23
    • Brian Norris's avatar
      PCI/pwrctrl: Unregister platform device only if one actually exists · 5c8418cf
      Brian Norris authored
      If a PCI device has an associated device_node with power supplies,
      pci_bus_add_device() creates platform devices for use by pwrctrl.  When the
      PCI device is removed, pci_stop_dev() uses of_find_device_by_node() to
      locate the related platform device, then unregisters it.
      
      But when we remove a PCI device with no associated device node,
      dev_of_node(dev) is NULL, and of_find_device_by_node(NULL) returns the
      first device with "dev->of_node == NULL".  The result is that we (a)
      mistakenly unregister a completely unrelated platform device, leading to
      issues like the first trace below, and (b) dereference the NULL pointer
      from dev_of_node() when clearing OF_POPULATED, as in the second trace.
      
      Unregister a platform device only if there is one associated with this PCI
      device.  This resolves issues seen when doing:
      
        # echo 1 > /sys/bus/pci/devices/.../remove
      
      Sample issue from unregistering the wrong platform device:
      
        WARNING: CPU: 0 PID: 5095 at drivers/regulator/core.c:5885 regulator_unregister+0x140/0x160
        Call trace:
         regulator_unregister+0x140/0x160
         devm_rdev_release+0x1c/0x30
         release_nodes+0x68/0x100
         devres_release_all+0x98/0xf8
         device_unbind_cleanup+0x20/0x70
         device_release_driver_internal+0x1f4/0x240
         device_release_driver+0x20/0x40
         bus_remove_device+0xd8/0x170
         device_del+0x154/0x380
         device_unregister+0x28/0x88
         of_device_unregister+0x1c/0x30
         pci_stop_bus_device+0x154/0x1b0
         pci_stop_and_remove_bus_device_locked+0x28/0x48
         remove_store+0xa0/0xb8
         dev_attr_store+0x20/0x40
         sysfs_kf_write+0x4c/0x68
      
      Later NULL pointer dereference for of_node_clear_flag(NULL, OF_POPULATED):
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000000000000c0
        Call trace:
         pci_stop_bus_device+0x190/0x1b0
         pci_stop_and_remove_bus_device_locked+0x28/0x48
         remove_store+0xa0/0xb8
         dev_attr_store+0x20/0x40
         sysfs_kf_write+0x4c/0x68
      
      Link: https://lore.kernel.org/r/20241126210443.4052876-1-briannorris@chromium.org
      
      
      Fixes: 681725af ("PCI/pwrctl: Remove pwrctl device without iterating over all children of pwrctl parent")
      Reported-by: default avatarSaurabh Sengar <ssengar@linux.microsoft.com>
      Closes: https://lore.kernel.org/r/1732890621-19656-1-git-send-email-ssengar@linux.microsoft.com
      
      
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      [bhelgaas: commit log]
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      5c8418cf
    • Linus Torvalds's avatar
      Merge tag 'tty-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · d8b78066
      Linus Torvalds authored
      Pull tty / serial driver updates from Greg KH:
       "Here is a small set of tty and serial driver updates for 6.13-rc1.
        Nothing major at all this time, only some small changes:
      
         - few device tree binding updates
      
         - 8250_exar serial driver updates
      
         - imx serial driver updates
      
         - sprd_serial driver updates
      
         - other tiny serial driver updates, full details in the shortlog
      
        All of these have been in linux-next for a while with one reported
        issue, but that commit has now been reverted"
      
      * tag 'tty-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (37 commits)
        Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit"
        serial: amba-pl011: fix build regression
        dt-bindings: serial: Add a new compatible string for ums9632
        serial: sprd: Add support for sc9632
        tty/serial/altera_uart: unwrap error log string
        tty/serial/altera_jtaguart: unwrap error log string
        serial: amba-pl011: Fix RX stall when DMA is used
        tty: ldsic: fix tty_ldisc_autoload sysctl's proc_handler
        serial: 8250_fintek: Add support for F81216E
        serial: sh-sci: Clean sci_ports[0] after at earlycon exit
        tty: atmel_serial: Fix typo retreives to retrieves
        tty: atmel_serial: Use devm_platform_ioremap_resource()
        serial: 8250: omap: Move pm_runtime_get_sync
        tty: serial: samsung: Add Exynos8895 compatible
        dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible
        serial: 8250_dw: Add Sophgo SG2044 quirk
        dt-bindings: serial: snps-dw-apb-uart: Add Sophgo SG2044 uarts
        dt-bindings: serial: snps,dw-apb-uart: merge duplicate compatible entry.
        altera_jtaguart: Use dev_err() to report error attaching IRQ
        altera_uart: Use dev_err() to report error attaching IRQ handler
        ...
      d8b78066
    • Greg Kroah-Hartman's avatar
      Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit" · 71863246
      Greg Kroah-Hartman authored
      
      This reverts commit 3791ea69.
      
      It was reported to cause boot-time issues, so revert it for now.
      
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Fixes: 3791ea69 ("serial: sh-sci: Clean sci_ports[0] after at earlycon exit")
      Cc: stable <stable@kernel.org>
      Cc: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      71863246
    • Dan Carpenter's avatar
      sh: intc: Fix use-after-free bug in register_intc_controller() · 63e72e55
      Dan Carpenter authored and John Paul Adrian Glaubitz's avatar John Paul Adrian Glaubitz committed
      
      In the error handling for this function, d is freed without ever
      removing it from intc_list which would lead to a use after free.
      To fix this, let's only add it to the list after everything has
      succeeded.
      
      Fixes: 2dcec7a9 ("sh: intc: set_irq_wake() support")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Reviewed-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Signed-off-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      63e72e55
    • Huacai Chen's avatar
      sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK · 3c891f7c
      Huacai Chen authored and John Paul Adrian Glaubitz's avatar John Paul Adrian Glaubitz committed
      
      When CONFIG_CPUMASK_OFFSTACK and CONFIG_DEBUG_PER_CPU_MAPS are selected,
      cpu_max_bits_warn() generates a runtime warning similar as below when
      showing /proc/cpuinfo. Fix this by using nr_cpu_ids (the runtime limit)
      instead of NR_CPUS to iterate CPUs.
      
      [    3.052463] ------------[ cut here ]------------
      [    3.059679] WARNING: CPU: 3 PID: 1 at include/linux/cpumask.h:108 show_cpuinfo+0x5e8/0x5f0
      [    3.070072] Modules linked in: efivarfs autofs4
      [    3.076257] CPU: 0 PID: 1 Comm: systemd Not tainted 5.19-rc5+ #1052
      [    3.099465] Stack : 9000000100157b08 9000000000f18530 9000000000cf846c 9000000100154000
      [    3.109127]         9000000100157a50 0000000000000000 9000000100157a58 9000000000ef7430
      [    3.118774]         90000001001578e8 0000000000000040 0000000000000020 ffffffffffffffff
      [    3.128412]         0000000000aaaaaa 1ab25f00eec96a37 900000010021de80 900000000101c890
      [    3.138056]         0000000000000000 0000000000000000 0000000000000000 0000000000aaaaaa
      [    3.147711]         ffff8000339dc220 0000000000000001 0000000006ab4000 0000000000000000
      [    3.157364]         900000000101c998 0000000000000004 9000000000ef7430 0000000000000000
      [    3.167012]         0000000000000009 000000000000006c 0000000000000000 0000000000000000
      [    3.176641]         9000000000d3de08 9000000001639390 90000000002086d8 00007ffff0080286
      [    3.186260]         00000000000000b0 0000000000000004 0000000000000000 0000000000071c1c
      [    3.195868]         ...
      [    3.199917] Call Trace:
      [    3.203941] [<90000000002086d8>] show_stack+0x38/0x14c
      [    3.210666] [<9000000000cf846c>] dump_stack_lvl+0x60/0x88
      [    3.217625] [<900000000023d268>] __warn+0xd0/0x100
      [    3.223958] [<9000000000cf3c90>] warn_slowpath_fmt+0x7c/0xcc
      [    3.231150] [<9000000000210220>] show_cpuinfo+0x5e8/0x5f0
      [    3.238080] [<90000000004f578c>] seq_read_iter+0x354/0x4b4
      [    3.245098] [<90000000004c2e90>] new_sync_read+0x17c/0x1c4
      [    3.252114] [<90000000004c5174>] vfs_read+0x138/0x1d0
      [    3.258694] [<90000000004c55f8>] ksys_read+0x70/0x100
      [    3.265265] [<9000000000cfde9c>] do_syscall+0x7c/0x94
      [    3.271820] [<9000000000202fe4>] handle_syscall+0xc4/0x160
      [    3.281824] ---[ end trace 8b484262b4b8c24c ]---
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      Reviewed-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Tested-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Signed-off-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      3c891f7c
  3. Nov 29, 2024
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2024-11-29' of https://gitlab.freedesktop.org/drm/kernel · 2ba9f676
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Merge window fixes, mostly amdgpu and xe, with a few other minor ones,
        all looks fairly normal,
      
        i915:
         - hdcp: Fix when the first read and write are retried
      
        xe:
         - Wake up waiters after wait condition set to true
         - Mark the preempt fence workqueue as reclaim
         - Update xe2 graphics name string
         - Fix a couple of guc submit races
         - Fix pat index usage in migrate
         - Ensure non-cached migrate pagetable bo mappings
         - Take a PM ref in the delayed snapshot capture worker
      
        amdgpu:
         - SMU 13.0.6 fixes
         - XGMI fixes
         - SMU 13.0.7 fixes
         - Misc code cleanups
         - Plane refcount fixes
         - DCN 4.0.1 fixes
         - DC power fixes
         - DTO fixes
         - NBIO 7.11 fixes
         - SMU 14.0.x fixes
         - Reset fixes
         - Enable DC on LoongArch
         - Sysfs hotplug warning fix
         - Misc small fixes
         - VCN 4.0.3 fix
         - Slab usage fix
         - Jpeg delayed work fix
      
        amdkfd:
         - wptr handling fixes
      
        radeon:
         - Use ttm_bo_move_null()
         - Constify struct pci_device_id
         - Fix spurious hotplug
         - HPD fix
      
        rockchip
         - fix 32-bit build"
      
      * tag 'drm-next-2024-11-29' of https://gitlab.freedesktop.org/drm/kernel: (48 commits)
        drm/xe: Take PM ref in delayed snapshot capture worker
        drm/xe/migrate: use XE_BO_FLAG_PAGETABLE
        drm/xe/migrate: fix pat index usage
        drm/xe/guc_submit: fix race around suspend_pending
        drm/xe/guc_submit: fix race around pending_disable
        drm/xe: Update xe2_graphics name string
        drm/rockchip: avoid 64-bit division
        Revert "drm/radeon: Delay Connector detecting when HPD singals is unstable"
        drm/amdgpu/jpeg: cancel the jpeg worker
        drm/amdgpu: fix usage slab after free
        drm/amdgpu/vcn: reset fw_shared when VCPU buffers corrupted on vcn v4.0.3
        drm/amdgpu: Fix sysfs warning when hotplugging
        drm/amdgpu: Add sysfs interface for vcn reset mask
        drm/amdgpu/gmc7: fix wait_for_idle callers
        drm/amd/pm: Remove arcturus min power limit
        drm/amd/pm: skip setting the power source on smu v14.0.2/3
        drm/amd/pm: disable pcie speed switching on Intel platform for smu v14.0.2/3
        drm/amdkfd: Use the correct wptr size
        drm/xe: Mark preempt fence workqueue as reclaim
        drm/xe/ufence: Wake up waiters after setting ufence->signalled
        ...
      2ba9f676
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 517363b4
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes. Majority of changes are device-specific
        fixes and quirks, while there are a few core fixes to address
        regressions and corner cases spotted by fuzzers.
      
         - Fix of spinlock range that wrongly covered kvfree() call in rawmidi
      
         - Fix potential NULL dereference at PCM mmap
      
         - Fix incorrectly advertised MIDI 2.0 UMP Function Block info
      
         - Various ASoC AMD quirks and fixes
      
         - ASoC SOF Intel, Mediatek, HDMI-codec fixes
      
         - A few more quirks and TAS2781 codec fix for HD-audio
      
         - A couple of fixes for USB-audio for malicious USB descriptors"
      
      * tag 'sound-fix-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits)
        ALSA: hda: improve bass speaker support for ASUS Zenbook UM5606WA
        ALSA: hda/realtek: Apply quirk for Medion E15433
        ASoC: amd: yc: Add a quirk for microfone on Lenovo ThinkPad P14s Gen 5 21MES00B00
        ASoC: SOF: ipc3-topology: Convert the topology pin index to ALH dai index
        ASoC: mediatek: Check num_codecs is not zero to avoid panic during probe
        ASoC: amd: yc: Fix for enabling DMIC on acp6x via _DSD entry
        ALSA: ump: Fix evaluation of MIDI 1.0 FB info
        ALSA: core: Fix possible NULL dereference caused by kunit_kzalloc()
        ALSA: hda: Show the codec quirk info at probing
        ALSA: asihpi: Remove unused variable
        ALSA: hda/realtek: Set PCBeep to default value for ALC274
        ALSA: hda/tas2781: Add speaker id check for ASUS projects
        ALSA: hda/realtek: Update ALC225 depop procedure
        ALSA: hda/realtek: Enable speaker pins for Medion E15443 platform
        ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook X G1i
        ALSA: usb-audio: Fix out of bounds reads when finding clock sources
        ALSA: rawmidi: Fix kvfree() call in spinlock
        ALSA: hda/realtek: Fix Internal Speaker and Mic boost of Infinix Y4 Max
        ASoC: amd: yc: Add quirk for microphone on Lenovo Thinkpad T14s Gen 6 21M1CTO1WW
        ASoC: doc: dapm: Add location information for dapm-graph tool
        ...
      517363b4
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 2eff01ee
      Linus Torvalds authored
      Pull char/misc/IIO/whatever driver subsystem updates from Greg KH:
       "Here is the 'big and hairy' char/misc/iio and other small driver
        subsystem updates for 6.13-rc1.
      
        Loads of things in here, and even a fun merge conflict!
      
         - rust misc driver bindings and other rust changes to make misc
           drivers actually possible.
      
           I think this is the tipping point, expect to see way more rust
           drivers going forward now that these bindings are present. Next
           merge window hopefully we will have pci and platform drivers
           working, which will fully enable almost all driver subsystems to
           start accepting (or at least getting) rust drivers.
      
           This is the end result of a lot of work from a lot of people,
           congrats to all of them for getting this far, you've proved many of
           us wrong in the best way possible, working code :)
      
         - IIO driver updates, too many to list individually, that subsystem
           keeps growing and growing...
      
         - Interconnect driver updates
      
         - nvmem driver updates
      
         - pwm driver updates
      
         - platform_driver::remove() fixups, loads of them
      
         - counter driver updates
      
         - misc driver updates (keba?)
      
         - binder driver updates and fixes
      
         - loads of other small char/misc/etc driver updates and additions,
           full details in the shortlog.
      
        All of these have been in linux-next for a while, with no other
        reported issues other than that merge conflict"
      
      * tag 'char-misc-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (401 commits)
        mei: vsc: Fix typo "maintstepping" -> "mainstepping"
        firmware: Switch back to struct platform_driver::remove()
        misc: isl29020: Fix the wrong format specifier
        scripts/tags.sh: Don't tag usages of DEFINE_MUTEX
        fpga: Switch back to struct platform_driver::remove()
        mei: vsc: Improve error logging in vsc_identify_silicon()
        mei: vsc: Do not re-enable interrupt from vsc_tp_reset()
        dt-bindings: spmi: qcom,x1e80100-spmi-pmic-arb: Add SAR2130P compatible
        dt-bindings: spmi: spmi-mtk-pmif: Add compatible for MT8188
        spmi: pmic-arb: fix return path in for_each_available_child_of_node()
        iio: Move __private marking before struct element priv in struct iio_dev
        docs: iio: ad7380: add adaq4370-4 and adaq4380-4
        iio: adc: ad7380: add support for adaq4370-4 and adaq4380-4
        iio: adc: ad7380: use local dev variable to shorten long lines
        iio: adc: ad7380: fix oversampling formula
        dt-bindings: iio: adc: ad7380: add adaq4370-4 and adaq4380-4 compatible parts
        bus: mhi: host: pci_generic: Use pcim_iomap_region() to request and map MHI BAR
        bus: mhi: host: Switch trace_mhi_gen_tre fields to native endian
        misc: atmel-ssc: Use of_property_present() for non-boolean properties
        misc: keba: Add hardware dependency
        ...
      2eff01ee
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.13-rc1' of... · 55cb93fd
      Linus Torvalds authored
      Merge tag 'driver-core-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is a small set of driver core changes for 6.13-rc1.
      
        Nothing major for this merge cycle, except for the two simple merge
        conflicts are here just to make life interesting.
      
        Included in here are:
      
         - sysfs core changes and preparations for more sysfs api cleanups
           that can come through all driver trees after -rc1 is out
      
         - fw_devlink fixes based on many reports and debugging sessions
      
         - list_for_each_reverse() removal, no one was using it!
      
         - last-minute seq_printf() format string bug found and fixed in many
           drivers all at once.
      
         - minor bugfixes and changes full details in the shortlog"
      
      * tag 'driver-core-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (35 commits)
        Fix a potential abuse of seq_printf() format string in drivers
        cpu: Remove spurious NULL in attribute_group definition
        s390/con3215: Remove spurious NULL in attribute_group definition
        perf: arm-ni: Remove spurious NULL in attribute_group definition
        driver core: Constify bin_attribute definitions
        sysfs: attribute_group: allow registration of const bin_attribute
        firmware_loader: Fix possible resource leak in fw_log_firmware_info()
        drivers: core: fw_devlink: Fix excess parameter description in docstring
        driver core: class: Correct WARN() message in APIs class_(for_each|find)_device()
        cacheinfo: Use of_property_present() for non-boolean properties
        cdx: Fix cdx_mmap_resource() after constifying attr in ->mmap()
        drivers: core: fw_devlink: Make the error message a bit more useful
        phy: tegra: xusb: Set fwnode for xusb port devices
        drm: display: Set fwnode for aux bus devices
        driver core: fw_devlink: Stop trying to optimize cycle detection logic
        driver core: Constify attribute arguments of binary attributes
        sysfs: bin_attribute: add const read/write callback variants
        sysfs: implement all BIN_ATTR_* macros in terms of __BIN_ATTR()
        sysfs: treewide: constify attribute callback of bin_attribute::llseek()
        sysfs: treewide: constify attribute callback of bin_attribute::mmap()
        ...
      55cb93fd
    • Linus Torvalds's avatar
      Merge tag 'staging-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · a0c1ca39
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver changes for 6.13-rc1.
      
        Lots of changes this merge cycle, drivers removed and drivers added.
        Highlights include:
      
         - removals of the following staging drivers due to no forward
           progress and no one having either the hardware or the time/energy
           to deal with them anymore:
             - fieldbus
             - gdm724x
             - olpc_dcon
             - rtl8712
             - rts5208
             - vt6655
             - vt6656
           If anyone has this hardware and wants to work on the drivers, it
           can be an easy revert to get them back.
      
         - addition of the gpib driver subsystem. Lots of drivers for really
           old and semi-old interfaces to lab equipments. We expect lots of
           churn in these drivers as they get cleaned up to "working" order.
      
           These were added at the request of a user and the maintainer/author
           of them is helping out with the effort
      
         - loads and loads of tiny coding style cleanups for almost all
           staging drivers. Too many to list, see the shortlog for details.
      
        All of these have been in linux-next for a very long time with no
        reported issues"
      
      * tag 'staging-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (216 commits)
        Staging: gpib: gpib_os.c - Remove unnecessary OOM message
        staging: gpib: avoid unintended sign extension
        staging: vchiq_debugfs: Use forward declarations
        staging: vchiq_core: Rectify header include for vchiq_dump_state()
        staging: vc04_services: Cleanup TODO entry
        staging: most: Remove TODO contact information
        staging: rtl8723bs: Remove TODO contact information
        staging: sm750fb: Remove TODO contact information
        staging: iio: Remove TODO file
        staging: greybus: uart: Fix atomicity violation in get_serial_info()
        staging: rtl8723bs: Remove unused function Efuse_GetCurrentSize
        staging: rtl8723bs: Remove unused function efuse_WordEnableDataRead
        staging: rtl8723bs: Remove function hal_EfusePgPacketWrite1ByteHeader
        staging: rtl8723bs: Remove function hal_EfusePgPacketWrite2ByteHeader
        staging: rtl8723bs: Remove unused function hal_EfusePgCheckAvailableAddr
        staging: rtl8723bs: Remove unused function hal_EfuseConstructPGPkt
        staging: rtl8723bs: Remove unused function hal_EfusePartialWriteCheck
        staging: rtl8723bs: Remove unused function hal_EfusePgPacketWriteHeader
        staging: rtl8723bs: Remove unused function hal_EfusePgPacketWriteData
        staging: rtl8723bs: Remove unused function Hal_EfusePgPacketWrite_BT
        ...
      a0c1ca39
    • Linus Torvalds's avatar
      Merge tag 'usb-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e33a6d83
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt changes for 6.13-rc1.
      
        Overall, a pretty slow development cycle, the majority of the work
        going into the debugfs interface for the thunderbolt (i.e. USB4) code,
        to help with debugging the myrad ways that hardware vendors get their
        interfaces messed up. Other than that, here's the highlights:
      
         - thunderbolt changes and additions to debugfs interfaces
      
         - lots of device tree updates for new and old hardware
      
         - UVC configfs gadget updates and new apis for features
      
         - xhci driver updates and fixes
      
         - dwc3 driver updates and fixes
      
         - typec driver updates and fixes
      
         - lots of other small updates and fixes, full details in the shortlog
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'usb-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (148 commits)
        usb: typec: tcpm: Add support for sink-bc12-completion-time-ms DT property
        dt-bindings: usb: maxim,max33359: add usage of sink bc12 time property
        dt-bindings: connector: Add time property for Sink BC12 detection completion
        usb: dwc3: gadget: Remove dwc3_request->needs_extra_trb
        usb: dwc3: gadget: Cleanup SG handling
        usb: dwc3: gadget: Fix looping of queued SG entries
        usb: dwc3: gadget: Fix checking for number of TRBs left
        usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED
        Revert "usb: gadget: composite: fix OS descriptors w_value logic"
        usb: ehci-spear: fix call balance of sehci clk handling routines
        USB: make to_usb_device_driver() use container_of_const()
        USB: make to_usb_driver() use container_of_const()
        USB: properly lock dynamic id list when showing an id
        USB: make single lock for all usb dynamic id lists
        drivers/usb/storage: refactor min with min_t
        drivers/usb/serial: refactor min with min_t
        drivers/usb/musb: refactor min/max with min_t/max_t
        drivers/usb/mon: refactor min with min_t
        drivers/usb/misc: refactor min with min_t
        drivers/usb/host: refactor min/max with min_t/max_t
        ...
      e33a6d83
    • Linus Torvalds's avatar
      Merge tag 'modules-6.13-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux · 93e064ce
      Linus Torvalds authored
      Pull modules fixes from Luis Chamberlain:
       "Three fixes, the main one build that we build the kallsyms test
        modules all over again if we just run make twice"
      
      * tag 'modules-6.13-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux:
        selftests: find_symbol: Actually use load_mod() parameter
        selftests: kallsyms: fix and clarify current test boundaries
        selftests: kallsyms: fix double build stupidity
      93e064ce
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2024-11-27' of... · 29caf07e
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2024-11-27' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "Features:
         - extend next/check table to add support for 2^24 states to the state
           machine.
         - rework capability audit cache to use broader cred information
           instead of just the profile. Also add a time stamp so old entries
           can be aged out of the cache.
      
        Bug Fixes:
         - fix 'Do simple duplicate message elimination' to clear previous
           state when updating in capability audit cache
         - Fix memory leak for aa_unpack_strdup()
         - properly handle cx/px lookup failure when in complain mode
         - allocate xmatch for nullpdb inside aa_alloc_null fixing a NULL ptr
           deref of tracking profiles in when in complain mode
      
        Cleanups:
         - Remove everything being reported as deadcode
         - replace misleading 'scrubbing environment' phrase in debug print
         - Remove unnecessary NULL check before kvfree()
         - clean up duplicated parts of handle_onexec()
         - Use IS_ERR_OR_NULL() helper function
         - move new_profile declaration to top of block instead immediately
           after label to remove C23 extension warning
      
        Documentation:
         - add comment to document capability.c:profile_capable ad ptr
           parameter can not be NULL
         - add comment to document first entry is in packed perms struct is
           reserved for future planned expansion.
         - Update LSM/apparmor.rst add blurb for DEFAULT_SECURITY_APPARMOR"
      
      * tag 'apparmor-pr-2024-11-27' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: lift new_profile declaration to remove C23 extension warning
        apparmor: replace misleading 'scrubbing environment' phrase in debug print
        parser: drop dead code for XXX_comb macros
        apparmor: Remove unused parameter L1 in macro next_comb
        Docs: Update LSM/apparmor.rst
        apparmor: audit_cap dedup based on subj_cred instead of profile
        apparmor: add a cache entry expiration time aging out capability audit cache
        apparmor: document capability.c:profile_capable ad ptr not being NULL
        apparmor: fix 'Do simple duplicate message elimination'
        apparmor: document first entry is in packed perms struct is reserved
        apparmor: test: Fix memory leak for aa_unpack_strdup()
        apparmor: Remove deadcode
        apparmor: Remove unnecessary NULL check before kvfree()
        apparmor: domain: clean up duplicated parts of handle_onexec()
        apparmor: Use IS_ERR_OR_NULL() helper function
        apparmor: add support for 2^24 states to the dfa state machine.
        apparmor: properly handle cx/px lookup failure for complain
        apparmor: allocate xmatch for nullpdb inside aa_alloc_null
      29caf07e
    • Linus Torvalds's avatar
      Merge tag 's390-6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 509f806f
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
      
       - Add swap entry for hugetlbfs support
      
       - Add PTE_MARKER support for hugetlbs mappings; this fixes a regression
         (possible page fault loop) which was introduced when support for
         UFFDIO_POISON for hugetlbfs was added
      
       - Add ARCH_HAS_PREEMPT_LAZY and PREEMPT_DYNAMIC support
      
       - Mark IRQ entries in entry code, so that stack tracers can filter out
         the non-IRQ parts of stack traces. This fixes stack depot capacity
         limit warnings, since without filtering the number of unique stack
         traces is huge
      
       - In PCI code fix leak of struct zpci_dev object, and fix potential
         double remove of hotplug slot
      
       - Fix pagefault_disable() / pagefault_enable() unbalance in
         arch_stack_user_walk_common()
      
       - A couple of inline assembly optimizations, more cmpxchg() to
         try_cmpxchg() conversions, and removal of usages of xchg() and
         cmpxchg() on one and two byte memory areas
      
       - Various other small improvements and cleanups
      
      * tag 's390-6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (27 commits)
        Revert "s390/mm: Allow large pages for KASAN shadow mapping"
        s390/spinlock: Use flag output constraint for arch_cmpxchg_niai8()
        s390/spinlock: Use R constraint for arch_load_niai4()
        s390/spinlock: Generate shorter code for arch_spin_unlock()
        s390/spinlock: Remove condition code clobber from arch_spin_unlock()
        s390/spinlock: Use symbolic names in inline assemblies
        s390: Support PREEMPT_DYNAMIC
        s390/pci: Fix potential double remove of hotplug slot
        s390/pci: Fix leak of struct zpci_dev when zpci_add_device() fails
        s390/mm/hugetlbfs: Add missing includes
        s390/mm: Add PTE_MARKER support for hugetlbfs mappings
        s390/mm: Introduce region-third and segment table swap entries
        s390/mm: Introduce region-third and segment table entry present bits
        s390/mm: Rearrange region-third and segment table entry SW bits
        KVM: s390: Increase size of union sca_utility to four bytes
        KVM: s390: Remove one byte cmpxchg() usage
        KVM: s390: Use try_cmpxchg() instead of cmpxchg() loops
        s390/ap: Replace xchg() with WRITE_ONCE()
        s390/mm: Allow large pages for KASAN shadow mapping
        s390: Add ARCH_HAS_PREEMPT_LAZY support
        ...
      509f806f
    • Linus Torvalds's avatar
      Merge tag 'mips_6.13_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 63c81af1
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - fix for loongson64 device tree
      
       - add SPI nand to realtek device tree
      
       - change clock tree for mobileye
      
      * tag 'mips_6.13_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Loongson64: DTS: Really fix PCIe port nodes for ls7a
        mips: dts: realtek: Add SPI NAND controller
        MIPS: mobileye: eyeq6h: add OLB nodes OLB and remove fixed clocks
        MIPS: mobileye: eyeq5: use OLB as provider for fixed factor clocks
      63c81af1
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux · 9d5daef3
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - add dev_is_amba() function to allow conversions during the next cycle
      
       - improve PREEMPT_RT performance with VFP
      
       - KASAN fixes for vmap stack
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
        ARM: 9431/1: mm: Pair atomic_set_release() with _read_acquire()
        ARM: 9430/1: entry: Do a dummy read from VMAP shadow
        ARM: 9429/1: ioremap: Sync PGDs for VMALLOC shadow
        ARM: 9426/1: vfp: Move sending signals outside of vfp_state_hold()ed section.
        ARM: 9425/1: vfp: Use vfp_state_hold() in vfp_support_entry().
        ARM: 9424/1: vfp: Use vfp_state_hold() in vfp_sync_hwstate().
        ARM: 9423/1: vfp: Provide vfp_state_hold() for VFP locking.
        ARM: 9415/1: amba: Add dev_is_amba() function and export it for modules
      9d5daef3
    • Linus Torvalds's avatar
      Merge tag 'sparc-for-6.13-tag1' of... · fbb3c22f
      Linus Torvalds authored
      Merge tag 'sparc-for-6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc
      
      Pull sparc updates from Andreas Larsson:
      
       - Make sparc64 compilable with clang
      
       - Replace one-element array with flexible array member
      
      * tag 'sparc-for-6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/alarsson/linux-sparc:
        sparc/vdso: Add helper function for 64-bit right shift on 32-bit target
        sparc: Replace one-element array with flexible array member
        sparc/build: Add SPARC target flags for compiling with clang
        sparc/build: Put usage of -fcall-used* flags behind cc-option
      fbb3c22f
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · f1516701
      Linus Torvalds authored
      Pull powerpc fixes from Madhavan Srinivasan:
      
       - Fix htmldocs errors in sysfs-bus-event_source-devices-vpa-pmu
      
       - Fix warning due to missing #size-cells on powermac
      
      Thanks to Michael Ellerman, Yang Li, Rob Herring, and Stephen Rothwell.
      
      * tag 'powerpc-6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/prom_init: Fixup missing powermac #size-cells
        docs: ABI: sysfs-bus-event_source-devices-vpa-pmu: Fix htmldocs errors
        powerpc/machdep: Remove duplicated include in svm.c
      f1516701
    • Zhang Xianwei's avatar
      brd: decrease the number of allocated pages which discarded · 82734209
      Zhang Xianwei authored
      
      The number of allocated pages which discarded will not decrease.
      Fix it.
      
      Fixes: 9ead7efc ("brd: implement discard support")
      
      Signed-off-by: default avatarZhang Xianwei <zhang.xianwei8@zte.com.cn>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Link: https://lore.kernel.org/r/20241128170056565nPKSz2vsP8K8X2uk2iaDG@zte.com.cn
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      82734209
    • Yu Kuai's avatar
      block, bfq: fix bfqq uaf in bfq_limit_depth() · e8b8344d
      Yu Kuai authored
      
      Set new allocated bfqq to bic or remove freed bfqq from bic are both
      protected by bfqd->lock, however bfq_limit_depth() is deferencing bfqq
      from bic without the lock, this can lead to UAF if the io_context is
      shared by multiple tasks.
      
      For example, test bfq with io_uring can trigger following UAF in v6.6:
      
      ==================================================================
      BUG: KASAN: slab-use-after-free in bfqq_group+0x15/0x50
      
      Call Trace:
       <TASK>
       dump_stack_lvl+0x47/0x80
       print_address_description.constprop.0+0x66/0x300
       print_report+0x3e/0x70
       kasan_report+0xb4/0xf0
       bfqq_group+0x15/0x50
       bfqq_request_over_limit+0x130/0x9a0
       bfq_limit_depth+0x1b5/0x480
       __blk_mq_alloc_requests+0x2b5/0xa00
       blk_mq_get_new_requests+0x11d/0x1d0
       blk_mq_submit_bio+0x286/0xb00
       submit_bio_noacct_nocheck+0x331/0x400
       __block_write_full_folio+0x3d0/0x640
       writepage_cb+0x3b/0xc0
       write_cache_pages+0x254/0x6c0
       write_cache_pages+0x254/0x6c0
       do_writepages+0x192/0x310
       filemap_fdatawrite_wbc+0x95/0xc0
       __filemap_fdatawrite_range+0x99/0xd0
       filemap_write_and_wait_range.part.0+0x4d/0xa0
       blkdev_read_iter+0xef/0x1e0
       io_read+0x1b6/0x8a0
       io_issue_sqe+0x87/0x300
       io_wq_submit_work+0xeb/0x390
       io_worker_handle_work+0x24d/0x550
       io_wq_worker+0x27f/0x6c0
       ret_from_fork_asm+0x1b/0x30
       </TASK>
      
      Allocated by task 808602:
       kasan_save_stack+0x1e/0x40
       kasan_set_track+0x21/0x30
       __kasan_slab_alloc+0x83/0x90
       kmem_cache_alloc_node+0x1b1/0x6d0
       bfq_get_queue+0x138/0xfa0
       bfq_get_bfqq_handle_split+0xe3/0x2c0
       bfq_init_rq+0x196/0xbb0
       bfq_insert_request.isra.0+0xb5/0x480
       bfq_insert_requests+0x156/0x180
       blk_mq_insert_request+0x15d/0x440
       blk_mq_submit_bio+0x8a4/0xb00
       submit_bio_noacct_nocheck+0x331/0x400
       __blkdev_direct_IO_async+0x2dd/0x330
       blkdev_write_iter+0x39a/0x450
       io_write+0x22a/0x840
       io_issue_sqe+0x87/0x300
       io_wq_submit_work+0xeb/0x390
       io_worker_handle_work+0x24d/0x550
       io_wq_worker+0x27f/0x6c0
       ret_from_fork+0x2d/0x50
       ret_from_fork_asm+0x1b/0x30
      
      Freed by task 808589:
       kasan_save_stack+0x1e/0x40
       kasan_set_track+0x21/0x30
       kasan_save_free_info+0x27/0x40
       __kasan_slab_free+0x126/0x1b0
       kmem_cache_free+0x10c/0x750
       bfq_put_queue+0x2dd/0x770
       __bfq_insert_request.isra.0+0x155/0x7a0
       bfq_insert_request.isra.0+0x122/0x480
       bfq_insert_requests+0x156/0x180
       blk_mq_dispatch_plug_list+0x528/0x7e0
       blk_mq_flush_plug_list.part.0+0xe5/0x590
       __blk_flush_plug+0x3b/0x90
       blk_finish_plug+0x40/0x60
       do_writepages+0x19d/0x310
       filemap_fdatawrite_wbc+0x95/0xc0
       __filemap_fdatawrite_range+0x99/0xd0
       filemap_write_and_wait_range.part.0+0x4d/0xa0
       blkdev_read_iter+0xef/0x1e0
       io_read+0x1b6/0x8a0
       io_issue_sqe+0x87/0x300
       io_wq_submit_work+0xeb/0x390
       io_worker_handle_work+0x24d/0x550
       io_wq_worker+0x27f/0x6c0
       ret_from_fork+0x2d/0x50
       ret_from_fork_asm+0x1b/0x30
      
      Fix the problem by protecting bic_to_bfqq() with bfqd->lock.
      
      CC: Jan Kara <jack@suse.cz>
      Fixes: 76f1df88 ("bfq: Limit number of requests consumed by each cgroup")
      Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
      Link: https://lore.kernel.org/r/20241129091509.2227136-1-yukuai1@huaweicloud.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e8b8344d
    • Jens Axboe's avatar
      io_uring/tctx: work around xa_store() allocation error issue · 7eb75ce7
      Jens Axboe authored
      
      syzbot triggered the following WARN_ON:
      
      WARNING: CPU: 0 PID: 16 at io_uring/tctx.c:51 __io_uring_free+0xfa/0x140 io_uring/tctx.c:51
      
      which is the
      
      WARN_ON_ONCE(!xa_empty(&tctx->xa));
      
      sanity check in __io_uring_free() when a io_uring_task is going through
      its final put. The syzbot test case includes injecting memory allocation
      failures, and it very much looks like xa_store() can fail one of its
      memory allocations and end up with ->head being non-NULL even though no
      entries exist in the xarray.
      
      Until this issue gets sorted out, work around it by attempting to
      iterate entries in our xarray, and WARN_ON_ONCE() if one is found.
      
      Reported-by: default avatar <syzbot+cc36d44ec9f368e443d3@syzkaller.appspotmail.com>
      Link: https://lore.kernel.org/io-uring/673c1643.050a0220.87769.0066.GAE@google.com/
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7eb75ce7
    • Vasily Gorbik's avatar
      Revert "s390/mm: Allow large pages for KASAN shadow mapping" · cc00550b
      Vasily Gorbik authored and Heiko Carstens's avatar Heiko Carstens committed
      
      This reverts commit ff123eb7.
      
      Allowing large pages for KASAN shadow mappings isn't inherently wrong,
      but adding POPULATE_KASAN_MAP_SHADOW to large_allowed() exposes an issue
      in can_large_pud() and can_large_pmd().
      
      Since commit d8073dc6 ("s390/mm: Allow large pages only for aligned
      physical addresses"), both can_large_pud() and can_large_pmd() call _pa()
      to check if large page physical addresses are aligned. However, _pa()
      has a side effect: it allocates memory in POPULATE_KASAN_MAP_SHADOW
      mode. This results in massive memory leaks.
      
      The proper fix would be to address both large_allowed() and _pa()'s side
      effects, but for now, revert this change to avoid the leaks.
      
      Fixes: ff123eb7 ("s390/mm: Allow large pages for KASAN shadow mapping")
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      cc00550b
  4. Nov 28, 2024
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 7af08b57
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - Add trace flag for NEED_RESCHED_LAZY
      
         Now that NEED_RESCHED_LAZY is upstream, add it to the status bits of
         the common_flags. This will now show when the NEED_RESCHED_LAZY flag
         is set that is used for debugging latency issues in the kernel via a
         trace.
      
       - Remove leftover "__idx" variable when SRCU was removed from the
         tracepoint code
      
       - Add rcu_tasks_trace guard
      
         To add a guard() around the tracepoint code, a rcu_tasks_trace guard
         needs to be created first.
      
       - Remove __DO_TRACE() macro and just call __DO_TRACE_CALL() directly
      
         The DO_TRACE() macro has conditional locking depending on what was
         passed into the macro parameters. As the guts of the macro has been
         moved to __DO_TRACE_CALL() to handle static call logic, there's no
         reason to keep the __DO_TRACE() macro around.
      
         It is better to just do the locking in place without the conditionals
         and call __DO_TRACE_CALL() from those locations. The "cond" passed in
         can also be moved out of that macro. This simplifies the code.
      
       - Remove the "cond" from the system call tracepoint macros
      
         The "cond" variable was added to allow some tracepoints to check a
         condition within the static_branch (jump/nop) logic. The system calls
         do not need this. Removing it simplifies the code.
      
       - Replace scoped_guard() with just guard() in the tracepoint logic
      
         guard() works just as well as scoped_guard() in the tracepoint logic
         and the scoped_guard() causes some issues.
      
      * tag 'trace-v6.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Use guard() rather than scoped_guard()
        tracing: Remove cond argument from __DECLARE_TRACE_SYSCALL
        tracing: Remove conditional locking from __DO_TRACE()
        rcupdate_trace: Define rcu_tasks_trace lock guard
        tracing: Remove __idx variable from __DO_TRACE
        tracing: Move it_func[0] comment to the relevant context
        tracing: Record task flag NEED_RESCHED_LAZY.
      7af08b57
Loading