1. 16 Oct, 2024 1 commit
    • Linus Torvalds's avatar
      Merge tag 'sched_ext-for-6.12-rc3-fixes' of... · dff65843
      Linus Torvalds authored
      Merge tag 'sched_ext-for-6.12-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext
      
      Pull sched_ext fixes from Tejun Heo:
      
       - More issues reported in the enable/disable paths on large machines
         with many tasks due to scx_tasks_lock being held too long. Break up
         the task iterations
      
       - Remove ops.select_cpu() dependency in bypass mode so that a
         misbehaving implementation can't live-lock the machine by pushing all
         tasks to few CPUs in bypass mode
      
       - Other misc fixes
      
      * tag 'sched_ext-for-6.12-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext:
        sched_ext: Remove unnecessary cpu_relax()
        sched_ext: Don't hold scx_tasks_lock for too long
        sched_ext: Move scx_tasks_lock handling into scx_task_iter helpers
        sched_ext: bypass mode shouldn't depend on ops.select_cpu()
        sched_ext: Move scx_buildin_idle_enabled check to scx_bpf_select_cpu_dfl()
        sched_ext: Start schedulers with consistent p->scx.slice values
        Revert "sched_ext: Use shorter slice while bypassing"
        sched_ext: use correct function name in pick_task_scx() warning message
        selftests: sched_ext: Add sched_ext as proper selftest target
      dff65843
  2. 15 Oct, 2024 3 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-ringbuffer-v6.12-rc3' of... · 2f87d091
      Linus Torvalds authored
      Merge tag 'trace-ringbuffer-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull ring-buffer fixes from Steven Rostedt:
      
       - Fix ref counter of buffers assigned at boot up
      
         A tracing instance can be created from the kernel command line. If it
         maps to memory, it is considered permanent and should not be deleted,
         or bad things can happen. If it is not mapped to memory, then the
         user is fine to delete it via rmdir from the instances directory. But
         the ref counts assumed 0 was free to remove and greater than zero was
         not. But this was not the case. When an instance is created, it
         should have the reference of 1, and if it should not be removed, it
         must be greater than 1. The boot up code set normal instances with a
         ref count of 0, which could get removed if something accessed it and
         then released it. And memory mapped instances had a ref count of 1
         which meant it could be deleted, and bad things happen. Keep normal
         instances ref count as 1, and set memory mapped instances ref count
         to 2.
      
       - Protect sub buffer size (order) updates from other modifications
      
         When a ring buffer is changing the size of its sub-buffers, no other
         operations should be performed on the ring buffer. That includes
         reading it. But the locking only grabbed the buffer->mutex that keeps
         some operations from touching the ring buffer. It also must hold the
         cpu_buffer->reader_lock as well when updates happen as other paths
         use that to do some operations on the ring buffer.
      
      * tag 'trace-ringbuffer-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Fix reader locking when changing the sub buffer order
        ring-buffer: Fix refcount setting of boot mapped buffers
      2f87d091
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-10-14' of git://evilpiepirate.org/bcachefs · bdc72765
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
      
       - New metadata version inode_has_child_snapshots
      
         This fixes bugs with handling of unlinked inodes + snapshots, in
         particular when an inode is reattached after taking a snapshot;
         deleted inodes now get correctly cleaned up across snapshots.
      
       - Disk accounting rewrite fixes
           - validation fixes for when a device has been removed
           - fix journal replay failing with "journal_reclaim_would_deadlock"
      
       - Some more small fixes for erasure coding + device removal
      
       - Assorted small syzbot fixes
      
      * tag 'bcachefs-2024-10-14' of git://evilpiepirate.org/bcachefs: (27 commits)
        bcachefs: Fix sysfs warning in fstests generic/730,731
        bcachefs: Handle race between stripe reuse, invalidate_stripe_to_dev
        bcachefs: Fix kasan splat in new_stripe_alloc_buckets()
        bcachefs: Add missing validation for bch_stripe.csum_granularity_bits
        bcachefs: Fix missing bounds checks in bch2_alloc_read()
        bcachefs: fix uaf in bch2_dio_write_done()
        bcachefs: Improve check_snapshot_exists()
        bcachefs: Fix bkey_nocow_lock()
        bcachefs: Fix accounting replay flags
        bcachefs: Fix invalid shift in member_to_text()
        bcachefs: Fix bch2_have_enough_devs() for BCH_SB_MEMBER_INVALID
        bcachefs: __wait_for_freeing_inode: Switch to wait_bit_queue_entry
        bcachefs: Check if stuck in journal_res_get()
        closures: Add closure_wait_event_timeout()
        bcachefs: Fix state lock involved deadlock
        bcachefs: Fix NULL pointer dereference in bch2_opt_to_text
        bcachefs: Release transaction before wake up
        bcachefs: add check for btree id against max in try read node
        bcachefs: Disk accounting device validation fixes
        bcachefs: bch2_inode_or_descendents_is_open()
        ...
      bdc72765
    • Petr Pavlu's avatar
      ring-buffer: Fix reader locking when changing the sub buffer order · 09661f75
      Petr Pavlu authored
      The function ring_buffer_subbuf_order_set() updates each
      ring_buffer_per_cpu and installs new sub buffers that match the requested
      page order. This operation may be invoked concurrently with readers that
      rely on some of the modified data, such as the head bit (RB_PAGE_HEAD), or
      the ring_buffer_per_cpu.pages and reader_page pointers. However, no
      exclusive access is acquired by ring_buffer_subbuf_order_set(). Modifying
      the mentioned data while a reader also operates on them can then result in
      incorrect memory access and various crashes.
      
      Fix the problem by taking the reader_lock when updating a specific
      ring_buffer_per_cpu in ring_buffer_subbuf_order_set().
      
      Link: https://lore.kernel.org/linux-trace-kernel/20240715145141.5528-1-petr.pavlu@suse.com/
      Link: https://lore.kernel.org/linux-trace-kernel/20241010195849.2f77cc3f@gandalf.local.home/
      Link: https://lore.kernel.org/linux-trace-kernel/20241011112850.17212b25@gandalf.local.home/
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Link: https://lore.kernel.org/20241015112440.26987-1-petr.pavlu@suse.com
      Fixes: 8e7b58c2 ("ring-buffer: Just update the subbuffers when changing their allocation order")
      Signed-off-by: default avatarPetr Pavlu <petr.pavlu@suse.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      09661f75
  3. 14 Oct, 2024 7 commits
  4. 13 Oct, 2024 9 commits
  5. 12 Oct, 2024 7 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 7234e2ea
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four small fixes, three in drivers and one in the FC transport class
        to add idempotence to state setting"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: scsi_transport_fc: Allow setting rport state to current state
        scsi: wd33c93: Don't use stale scsi_pointer value
        scsi: fnic: Move flush_work initialization out of if block
        scsi: ufs: Use pre-calculated offsets in ufshcd_init_lrb()
      7234e2ea
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.12-rc3' of... · 05749ecf
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - Add missing dependencies on REGMAP_I2C for several drivers
      
       - Fix memory leak in adt7475 driver
      
       - Relabel Columbiaville temperature sensor in intel-m10-bmc-hwmon
         driver to match other sensor labels
      
      * tag 'hwmon-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max1668) Add missing dependency on REGMAP_I2C
        hwmon: (ltc2991) Add missing dependency on REGMAP_I2C
        hwmon: (adt7470) Add missing dependency on REGMAP_I2C
        hwmon: (adm9240) Add missing dependency on REGMAP_I2C
        hwmon: (mc34vr500) Add missing dependency on REGMAP_I2C
        hwmon: (tmp513) Add missing dependency on REGMAP_I2C
        hwmon: (adt7475) Fix memory leak in adt7475_fan_pwm_config()
        hwmon: intel-m10-bmc-hwmon: relabel Columbiaville to CVL Die Temperature
      05749ecf
    • Kent Overstreet's avatar
      bcachefs: Improve check_snapshot_exists() · c986dd7e
      Kent Overstreet authored
      Check if we have snapshot_trees or subvolumes that refer to the snapshot
      node being reconstructed, and use them.
      
      With this, the kill_btree_root test that blows away the snapshots btree
      now passes, and we're able to successfully reconstruct.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      c986dd7e
    • Kent Overstreet's avatar
      bcachefs: Fix bkey_nocow_lock() · 9183c2b1
      Kent Overstreet authored
      This fixes an assertion pop in nocow_locking.c
      
      00243 kernel BUG at fs/bcachefs/nocow_locking.c:41!
      00243 Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
      00243 Modules linked in:
      00243 Hardware name: linux,dummy-virt (DT)
      00243 pstate: 60001005 (nZCv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--)
      00244 pc : bch2_bucket_nocow_unlock (/home/testdashboard/linux-7/fs/bcachefs/nocow_locking.c:41)
      00244 lr : bkey_nocow_lock (/home/testdashboard/linux-7/fs/bcachefs/data_update.c:79)
      00244 sp : ffffff80c82373b0
      00244 x29: ffffff80c82373b0 x28: ffffff80e08958c0 x27: ffffff80e0880000
      00244 x26: ffffff80c8237a98 x25: 00000000000000a0 x24: ffffff80c8237ab0
      00244 x23: 00000000000000c0 x22: 0000000000000008 x21: 0000000000000000
      00244 x20: ffffff80c8237a98 x19: 0000000000000018 x18: 0000000000000000
      00244 x17: 0000000000000000 x16: 000000000000003f x15: 0000000000000000
      00244 x14: 0000000000000008 x13: 0000000000000018 x12: 0000000000000000
      00244 x11: 0000000000000000 x10: ffffff80e0880000 x9 : ffffffc0803ac1a4
      00244 x8 : 0000000000000018 x7 : ffffff80c8237a88 x6 : ffffff80c8237ab0
      00244 x5 : ffffff80e08988d0 x4 : 00000000ffffffff x3 : 0000000000000000
      00244 x2 : 0000000000000004 x1 : 0003000000000d1e x0 : ffffff80e08988c0
      00244 Call trace:
      00244 bch2_bucket_nocow_unlock (/home/testdashboard/linux-7/fs/bcachefs/nocow_locking.c:41)
      00245 bch2_data_update_init (/home/testdashboard/linux-7/fs/bcachefs/data_update.c:627 (discriminator 1))
      00245 promote_alloc.isra.0 (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:242 /home/testdashboard/linux-7/fs/bcachefs/io_read.c:304)
      00245 __bch2_read_extent (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:949)
      00246 __bch2_read (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:1215)
      00246 bch2_direct_IO_read (/home/testdashboard/linux-7/fs/bcachefs/fs-io-direct.c:132)
      00246 bch2_read_iter (/home/testdashboard/linux-7/fs/bcachefs/fs-io-direct.c:201)
      00247 aio_read.constprop.0 (/home/testdashboard/linux-7/fs/aio.c:1602)
      00247 io_submit_one.constprop.0 (/home/testdashboard/linux-7/fs/aio.c:2003 /home/testdashboard/linux-7/fs/aio.c:2052)
      00248 __arm64_sys_io_submit (/home/testdashboard/linux-7/fs/aio.c:2111 /home/testdashboard/linux-7/fs/aio.c:2081 /home/testdashboard/linux-7/fs/aio.c:2081)
      00248 invoke_syscall.constprop.0 (/home/testdashboard/linux-7/arch/arm64/include/asm/syscall.h:61 /home/testdashboard/linux-7/arch/arm64/kernel/syscall.c:54)
      00248 ========= FAILED TIMEOUT tiering_variable_buckets_replicas in 1200s
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      9183c2b1
    • Kent Overstreet's avatar
      bcachefs: Fix accounting replay flags · 672f7523
      Kent Overstreet authored
      BCH_TRANS_COMMIT_journal_reclaim without BCH_WATERMARK_reclaim means
      "return an error if low on journal space" - but accounting replay must
      succeed.
      
      Fixes https://github.com/koverstreet/bcachefs/issues/656Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      672f7523
    • Kent Overstreet's avatar
      bcachefs: Fix invalid shift in member_to_text() · c1bd21bb
      Kent Overstreet authored
      Reported-by: syzbot+064ce437a1ad63d3f6ef@syzkaller.appspotmail.com
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      c1bd21bb
    • Kent Overstreet's avatar
      bcachefs: Fix bch2_have_enough_devs() for BCH_SB_MEMBER_INVALID · 7d84d9f4
      Kent Overstreet authored
      This fixes a kasan splat in the ec device removal tests.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      7d84d9f4
  6. 11 Oct, 2024 13 commits