1. 05 Sep, 2024 1 commit
    • Leon Romanovsky's avatar
      dma-mapping: use IOMMU DMA calls for common alloc/free page calls · 19156263
      Leon Romanovsky authored
      Common alloca and free pages routines are called when IOMMU DMA is used,
      and internally it calls to DMA ops structure which is not available for
      default IOMMU. This patch adds necessary if checks to call IOMMU DMA.
      
      It fixes the following crash:
      
       Unable to handle kernel NULL pointer dereference at virtual address 0000000000000040
       Mem abort info:
         ESR = 0x0000000096000006
         EC = 0x25: DABT (current EL), IL = 32 bits
         SET = 0, FnV = 0
         EA = 0, S1PTW = 0
         FSC = 0x06: level 2 translation fault
       Data abort info:
         ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
         CM = 0, WnR = 0, TnD = 0, TagAccess = 0
         GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
       user pgtable: 4k pages, 48-bit VAs, pgdp=00000000d20bb000
       [0000000000000040] pgd=08000000d20c1003
       , p4d=08000000d20c1003
       , pud=08000000d20c2003, pmd=0000000000000000
       Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
       Modules linked in: ipv6 hci_uart venus_core btqca
      v4l2_mem2mem btrtl qcom_spmi_adc5 sbs_battery btbcm qcom_vadc_common
      cros_ec_typec videobuf2_v4l2 leds_cros_ec cros_kbd_led_backlight
      cros_ec_chardev videodev elan_i2c
      videobuf2_common qcom_stats mc bluetooth coresight_stm stm_core
      ecdh_generic ecc pwrseq_core panel_edp icc_bwmon ath10k_snoc ath10k_core
      ath mac80211 phy_qcom_qmp_combo aux_bridge libarc4 coresight_replicator
      coresight_etm4x coresight_tmc
      coresight_funnel cfg80211 rfkill coresight qcom_wdt cbmem ramoops
      reed_solomon pwm_bl coreboot_table backlight crct10dif_ce
       CPU: 7 UID: 0 PID: 70 Comm: kworker/u32:4 Not tainted 6.11.0-rc6-next-20240903-00003-gdfc6015d0711 #660
       Hardware name: Google Lazor Limozeen without Touchscreen (rev5 - rev8) (DT)
       Workqueue: events_unbound deferred_probe_work_func
       hub 2-1:1.0: 4 ports detected
      
       pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
       pc : dma_common_alloc_pages+0x54/0x1b4
       lr : dma_common_alloc_pages+0x4c/0x1b4
       sp : ffff8000807d3730
       x29: ffff8000807d3730 x28: ffff02a7d312f880 x27: 0000000000000001
       x26: 000000000000c000 x25: 0000000000000000 x24: 0000000000000001
       x23: ffff02a7d23b6898 x22: 0000000000006cc0 x21: 000000000000c000
       x20: ffff02a7858bf410 x19: fffffe0a60006000 x18: 0000000000000001
       x17: 00000000000000d5 x16: 1fffe054f0bcc261 x15: 0000000000000001
       x14: ffff02a7844dc680 x13: 0000000000100180 x12: dead000000000100
       x11: dead000000000122 x10: 00000000001001ff x9 : ffff02a87f7b7b00
       x8 : ffff02a87f7b7b00 x7 : ffff405977d6b000 x6 : ffff8000807d3310
       x5 : ffff02a87f6b6398 x4 : 0000000000000001 x3 : ffff405977d6b000
       x2 : ffff02a7844dc600 x1 : 0000000100000000 x0 : fffffe0a60006000
       Call trace:
        dma_common_alloc_pages+0x54/0x1b4
        __dma_alloc_pages+0x68/0x90
        dma_alloc_pages+0x10/0x1c
        snd_dma_noncoherent_alloc+0x28/0x8c
        __snd_dma_alloc_pages+0x30/0x50
        snd_dma_alloc_dir_pages+0x40/0x80
        do_alloc_pages+0xb8/0x13c
        preallocate_pcm_pages+0x6c/0xf8
        preallocate_pages+0x160/0x1a4
        snd_pcm_set_managed_buffer_all+0x64/0xb0
        lpass_platform_pcm_new+0xc0/0xe8
        snd_soc_pcm_component_new+0x3c/0xc8
        soc_new_pcm+0x4fc/0x668
        snd_soc_bind_card+0xabc/0xbac
        snd_soc_register_card+0xf0/0x108
        devm_snd_soc_register_card+0x4c/0xa4
        sc7180_snd_platform_probe+0x180/0x224
        platform_probe+0x68/0xc0
        really_probe+0xbc/0x298
        __driver_probe_device+0x78/0x12c
        driver_probe_device+0x3c/0x15c
        __device_attach_driver+0xb8/0x134
        bus_for_each_drv+0x84/0xe0
        __device_attach+0x9c/0x188
        device_initial_probe+0x14/0x20
        bus_probe_device+0xac/0xb0
        deferred_probe_work_func+0x88/0xc0
        process_one_work+0x14c/0x28c
        worker_thread+0x2cc/0x3d4
        kthread+0x114/0x118
        ret_from_fork+0x10/0x20
       Code: f9411c19 940000c9 aa0003f3 b4000460 (f9402326)
       ---[ end trace 0000000000000000 ]---
      
      Fixes: b5c58b2f ("dma-mapping: direct calls for dma-iommu")
      Closes: https://lore.kernel.org/all/10431dfd-ce04-4e0f-973b-c78477303c18@notapiano
      Reported-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> #KernelCI
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Tested-by: default avatarNícolas F. R. A. Prado <nfraprado@collabora.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      19156263
  2. 04 Sep, 2024 3 commits
  3. 03 Sep, 2024 1 commit
  4. 29 Aug, 2024 5 commits
  5. 22 Aug, 2024 5 commits
  6. 18 Aug, 2024 9 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc4 · 47ac09b9
      Linus Torvalds authored
      47ac09b9
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.11-rc4' of... · ccdbf91f
      Linus Torvalds authored
      Merge tag 'driver-core-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are two driver fixes for regressions from 6.11-rc1 due to the
        driver core change making a structure in a driver core callback const.
      
        These were missed by all testing EXCEPT for what Bart happened to be
        running, so I appreciate the fixes provided here for some
        odd/not-often-used driver subsystems that nothing else happened to
        catch.
      
        Both of these fixes have been in linux-next all week with no reported
        issues"
      
      * tag 'driver-core-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        mips: sgi-ip22: Fix the build
        ARM: riscpc: ecard: Fix the build
      ccdbf91f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e1bc1132
      Linus Torvalds authored
      Pull char / misc fixes from Greg KH:
       "Here are some small char/misc fixes for 6.11-rc4 to resolve reported
        problems. Included in here are:
      
         - fastrpc revert of a change that broke userspace
      
         - xillybus fixes for reported issues
      
        Half of these have been in linux-next this week with no reported
        problems, I don't know if the last bit of xillybus driver changes made
        it in, but they are 'obviously correct' so will be safe :)"
      
      * tag 'char-misc-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        char: xillybus: Check USB endpoints when probing device
        char: xillybus: Refine workqueue handling
        Revert "misc: fastrpc: Restrict untrusted app to attach to privileged PD"
        char: xillybus: Don't destroy workqueue from work item running on it
      e1bc1132
    • Linus Torvalds's avatar
      Merge tag 'tty-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 394f33f9
      Linus Torvalds authored
      Pull tty / serial fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.11-rc4 to
        resolve some reported problems. Included in here are:
      
         - conmakehash.c userspace build issues
      
         - fsl_lpuart driver fix
      
         - 8250_omap revert for reported regression
      
         - atmel_serial rts flag fix
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'tty-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "serial: 8250_omap: Set the console genpd always on if no console suspend"
        tty: atmel_serial: use the correct RTS flag.
        tty: vt: conmakehash: remove non-portable code printing comment header
        tty: serial: fsl_lpuart: mark last busy before uart_add_one_port
      394f33f9
    • Linus Torvalds's avatar
      Merge tag 'usb-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 3d9061d2
      Linus Torvalds authored
      Pull USB / Thunderbolt driver fixes from Greg KH:
       "Here are some small USB and Thunderbolt driver fixes for 6.11-rc4 to
        resolve some reported issues. Included in here are:
      
         - thunderbolt driver fixes for reported problems
      
         - typec driver fixes
      
         - xhci fixes
      
         - new device id for ljca usb driver
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'usb-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration
        usb: misc: ljca: Add Lunar Lake ljca GPIO HID to ljca_gpio_hids[]
        Revert "usb: typec: tcpm: clear pd_event queue in PORT_RESET"
        usb: typec: ucsi: Fix the return value of ucsi_run_command()
        usb: xhci: fix duplicate stall handling in handle_tx_event()
        usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup()
        thunderbolt: Mark XDomain as unplugged when router is removed
        thunderbolt: Fix memory leaks in {port|retimer}_sb_regs_write()
      3d9061d2
    • Linus Torvalds's avatar
      Merge tag 'for-6.11-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 57b14823
      Linus Torvalds authored
      Pull more btrfs fixes from David Sterba:
       "A more fixes. We got reports that shrinker added in 6.10 still causes
        latency spikes and the fixes don't handle all corner cases. Due to
        summer holidays we're taking a shortcut to disable it for release
        builds and will fix it in the near future.
      
         - only enable extent map shrinker for DEBUG builds, temporary quick
           fix to avoid latency spikes for regular builds
      
         - update target inode's ctime on unlink, mandated by POSIX
      
         - properly take lock to read/update block group's zoned variables
      
         - add counted_by() annotations"
      
      * tag 'for-6.11-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: only enable extent map shrinker for DEBUG builds
        btrfs: zoned: properly take lock to read/update block group's zoned variables
        btrfs: tree-checker: add dev extent item checks
        btrfs: update target inode's ctime on unlink
        btrfs: send: annotate struct name_cache_entry with __counted_by()
      57b14823
    • Jann Horn's avatar
      fuse: Initialize beyond-EOF page contents before setting uptodate · 3c0da3d1
      Jann Horn authored
      fuse_notify_store(), unlike fuse_do_readpage(), does not enable page
      zeroing (because it can be used to change partial page contents).
      
      So fuse_notify_store() must be more careful to fully initialize page
      contents (including parts of the page that are beyond end-of-file)
      before marking the page uptodate.
      
      The current code can leave beyond-EOF page contents uninitialized, which
      makes these uninitialized page contents visible to userspace via mmap().
      
      This is an information leak, but only affects systems which do not
      enable init-on-alloc (via CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y or the
      corresponding kernel command line parameter).
      
      Link: https://bugs.chromium.org/p/project-zero/issues/detail?id=2574
      Cc: stable@kernel.org
      Fixes: a1d75f25 ("fuse: add store request")
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c0da3d1
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2024-08-17-19-34' of... · c3f2d783
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2024-08-17-19-34' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "16 hotfixes. All except one are for MM. 10 of these are cc:stable and
        the others pertain to post-6.10 issues.
      
        As usual with these merges, singletons and doubletons all over the
        place, no identifiable-by-me theme. Please see the lovingly curated
        changelogs to get the skinny"
      
      * tag 'mm-hotfixes-stable-2024-08-17-19-34' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        mm/migrate: fix deadlock in migrate_pages_batch() on large folios
        alloc_tag: mark pages reserved during CMA activation as not tagged
        alloc_tag: introduce clear_page_tag_ref() helper function
        crash: fix riscv64 crash memory reserve dead loop
        selftests: memfd_secret: don't build memfd_secret test on unsupported arches
        mm: fix endless reclaim on machines with unaccepted memory
        selftests/mm: compaction_test: fix off by one in check_compaction()
        mm/numa: no task_numa_fault() call if PMD is changed
        mm/numa: no task_numa_fault() call if PTE is changed
        mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0
        mm/memory-failure: use raw_spinlock_t in struct memory_failure_cpu
        mm: don't account memmap per-node
        mm: add system wide stats items category
        mm: don't account memmap on failure
        mm/hugetlb: fix hugetlb vs. core-mm PT locking
        mseal: fix is_madv_discard()
      c3f2d783
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 810996a3
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix crashes on 85xx with some configs since the recent hugepd rework.
      
       - Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL on some
         platforms.
      
       - Don't enable offline cores when changing SMT modes, to match existing
         userspace behaviour.
      
      Thanks to Christophe Leroy, Dr. David Alan Gilbert, Guenter Roeck, Nysal
      Jan K.A, Shrikanth Hegde, Thomas Gleixner, and Tyrel Datwyler.
      
      * tag 'powerpc-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/topology: Check if a core is online
        cpu/SMT: Enable SMT only if a core is online
        powerpc/mm: Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL
        powerpc/mm: Fix size of allocated PGDIR
        soc: fsl: qbman: remove unused struct 'cgr_comp'
      810996a3
  7. 17 Aug, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'v6.11-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · e0fac5fc
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - fix for clang warning - additional null check
      
       - fix for cached write with posix locks
      
       - flexible structure fix
      
      * tag 'v6.11-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: smb2pdu.h: Use static_assert() to check struct sizes
        smb3: fix lock breakage for cached writes
        smb/client: avoid possible NULL dereference in cifs_free_subrequest()
      e0fac5fc
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 98a1b2d7
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "I2C core fix replacing IS_ENABLED() with IS_REACHABLE()
      
        For host drivers, there are two fixes:
      
         - Tegra I2C Controller: Addresses a potential double-locking issue
           during probe. ACPI devices are not IRQ-safe when invoking runtime
           suspend and resume functions, so the irq_safe flag should not be
           set.
      
         - Qualcomm GENI I2C Controller: Fixes an oversight in the exit path
           of the runtime_resume() function, which was missed in the previous
           release"
      
      * tag 'i2c-for-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: tegra: Do not mark ACPI devices as irq safe
        i2c: Use IS_REACHABLE() for substituting empty ACPI functions
        i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume
      98a1b2d7
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · df6cbc62
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two small fixes to the mpi3mr driver. One to avoid oversize
        allocations in tracing and the other to fix an uninitialized spinlock
        in the user to driver feature request code (used to trigger dumps and
        the like)"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: mpi3mr: Avoid MAX_PAGE_ORDER WARNING for buffer allocations
        scsi: mpi3mr: Add missing spin_lock_init() for mrioc->trigger_lock
      df6cbc62
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d09840f8
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Check for presence of only 'attr' feature before scrubbing an inode's
         attribute fork.
      
       - Restore the behaviour of setting AIL thread to TASK_INTERRUPTIBLE for
         long (i.e. 50ms) sleep durations to prevent high load averages.
      
       - Do not allow users to change the realtime flag of a file unless the
         datadev and rtdev both support fsdax access modes.
      
      * tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set
        xfs: revert AIL TASK_KILLABLE threshold
        xfs: attr forks require attr, not attr2
      d09840f8
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs · b7181758
      Linus Torvalds authored
      Pull bcachefs fixes from Kent OverstreetL
      
       - New on disk format version, bcachefs_metadata_version_disk_accounting_inum
      
         This adds one more disk accounting counter, which counts disk usage
         and number of extents per inode number. This lets us track
         fragmentation, for implementing defragmentation later, and it also
         counts disk usage per inode in all snapshots, which will be a useful
         thing to expose to users.
      
       - One performance issue we've observed is threads spinning when they
         should be waiting for dirty keys in the key cache to be flushed by
         journal reclaim, so we now have hysteresis for the waiting thread, as
         well as improving the tracepoint and a new time_stat, for tracking
         time blocked waiting on key cache flushing.
      
      ... and various assorted smaller fixes.
      
      * tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs:
        bcachefs: Fix locking in __bch2_trans_mark_dev_sb()
        bcachefs: fix incorrect i_state usage
        bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru
        bcachefs: Fix forgetting to pass trans to fsck_err()
        bcachefs: Increase size of cuckoo hash table on too many rehashes
        bcachefs: bcachefs_metadata_version_disk_accounting_inum
        bcachefs: Kill __bch2_accounting_mem_mod()
        bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()
        bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in
        bcachefs: Add a time_stat for blocked on key cache flush
        bcachefs: Improve trans_blocked_journal_reclaim tracepoint
        bcachefs: Add hysteresis to waiting on btree key cache flush
        lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
        bcachefs: Convert for_each_btree_node() to lockrestart_do()
        bcachefs: Add missing downgrade table entry
        bcachefs: disk accounting: ignore unknown types
        bcachefs: bch2_accounting_invalid() fixup
        bcachefs: Fix bch2_trigger_alloc when upgrading from old versions
        bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()
      b7181758
    • Kent Overstreet's avatar
      bcachefs: Fix locking in __bch2_trans_mark_dev_sb() · 0e49d3ff
      Kent Overstreet authored
      We run this in full RW mode now, so we have to guard against the
      superblock buffer being reallocated.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      0e49d3ff
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e5fa841a
      Linus Torvalds authored
      Pull memcg-v1 fix from Al Viro:
       "memcg_write_event_control() oops fix"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        memcg_write_event_control(): fix a user-triggerable oops
      e5fa841a
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c2cdb13a
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix the arm64 __get_mem_asm() to use the _ASM_EXTABLE_##type##ACCESS()
         macro instead of the *_ERR() one in order to avoid writing -EFAULT to
         the value register in case of a fault
      
       - Initialise all elements of the acpi_early_node_map[] to NUMA_NO_NODE.
         Prior to this fix, only the first element was initialised
      
       - Move the KASAN random tag seed initialisation after the per-CPU areas
         have been initialised (prng_state is __percpu)
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Fix KASAN random tag seed initialization
        arm64: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE
        arm64: uaccess: correct thinko in __get_mem_asm()
      c2cdb13a
  8. 16 Aug, 2024 8 commits