6.12.9-rc1 review
Greg Kroah-Hartman
maintainerPATCH 150/156 mm/kmemleak: fix sleeping function called from invalid context at print message
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alessandro Carminati <[email protected]>
commit cddc76b165161a02ff14c4d84d0f5266d9d32b9e upstream.
Address a bug in the kernel that triggers a "sleeping function called from invalid context" warning when /sys/kernel/debug/kmemleak is printed under specific conditions:
- CONFIG_PREEMPT_RT=y
- Set SELinux as the LSM for the system
- Set kptr_restrict to 1
- kmemleak buffer contains at least one item
BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 136, name: catpreempt_count: 1, expected: 0
RCU nest depth: 2, expected: 2
6 locks held by cat/136:
#0: ffff32e64bcbf950 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xb8/0xe30 #1: ffffafe6aaa9dea0 (scan_mutex){+.+.}-{3:3}, at: kmemleak_seq_start+0x34/0x128 #3: ffff32e6546b1cd0 (&object->lock){....}-{2:2}, at: kmemleak_seq_show+0x3c/0x1e0 #4: ffffafe6aa8d8560 (rcu_read_lock){....}-{1:2}, at: has_ns_capability_noaudit+0x8/0x1b0 #5: ffffafe6aabbc0f8 (notif_lock){+.+.}-{2:2}, at: avc_compute_av+0xc4/0x3d0
irq event stamp: 136660 hardirqs last enabled at (136659): [<ffffafe6a80fd7a0>] _raw_spin_unlock_irqrestore+0xa8/0xd8 hardirqs last disabled at (136660): [<ffffafe6a80fd85c>] _raw_spin_lock_irqsave+0x8c/0xb0 softirqs last enabled at (0): [<ffffafe6a5d50b28>] copy_process+0x11d8/0x3df8 softirqs last disabled at (0): [<0000000000000000>] 0x0 Preemption disabled at: [<ffffafe6a6598a4c>] kmemleak_seq_show+0x3c/0x1e0 CPU: 1 UID: 0 PID: 136 Comm: cat Tainted: G E 6.11.0-rt7+ #34 Tainted: [E]=UNSIGNED_MODULE Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0xa0/0x128 show_stack+0x1c/0x30 dump_stack_lvl+0xe8/0x198 dump_stack+0x18/0x20 rt_spin_lock+0x8c/0x1a8 avc_perm_nonode+0xa0/0x150 cred_has_capability.isra.0+0x118/0x218 selinux_capable+0x50/0x80 security_capable+0x7c/0xd0 has_ns_capability_noaudit+0x94/0x1b0 has_capability_noaudit+0x20/0x30 restricted_pointer+0x21c/0x4b0 pointer+0x298/0x760 vsnprintf+0x330/0xf70 seq_printf+0x178/0x218 print_unreferenced+0x1a4/0x2d0 kmemleak_seq_show+0xd0/0x1e0 seq_read_iter+0x354/0xe30 seq_read+0x250/0x378 full_proxy_read+0xd8/0x148 vfs_read+0x190/0x918 ksys_read+0xf0/0x1e0 __arm64_sys_read+0x70/0xa8 invoke_syscall.constprop.0+0xd4/0x1d8 el0_svc+0x50/0x158 el0t_64_sync+0x17c/0x180
%pS and %pK, in the same back trace line, are redundant, and %pS can void %pK service in certain contexts.
%pS alone already provides the necessary information, and if it cannot resolve the symbol, it falls back to printing the raw address voiding the original intent behind the %pK.
Additionally, %pK requires a privilege check CAP_SYSLOG enforced through the LSM, which can trigger a "sleeping function called from invalid context" warning under RT_PREEMPT kernels when the check occurs in an atomic context. This issue may also affect other LSMs.
This change avoids the unnecessary privilege check and resolves the sleeping function warning without any loss of information.
--- mm/kmemleak.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
mm/kmemleak.c +1 -1
@@ -373,7 +373,7 @@ static void print_unreferenced(struct sefor (i =0 ; i < nr_entries; i++) {void *ptr = (void *)entries[i]; -warn_or_seq_printf (seq," [<%pK>] %pS\n" , ptr, ptr); +warn_or_seq_printf (seq," %pS\n" , ptr); } }
Greg Kroah-Hartman
maintainerPATCH 151/156 mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim()
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Seiji Nishikawa <[email protected]>
commit 6aaced5abd32e2a57cd94fd64f824514d0361da8 upstream.
The task sometimes continues looping in throttle_direct_reclaim() because allow_direct_reclaim(pgdat) keeps returning false.
#0 [ffff80002cb6f8d0] __switch_to at ffff8000080095ac #1 [ffff80002cb6f900] __schedule at ffff800008abbd1c #2 [ffff80002cb6f990] schedule at ffff800008abc50c
#3 [ffff80002cb6f9b0] throttle_direct_reclaim at ffff800008273550 #4 [ffff80002cb6fa20] try_to_free_pages at ffff800008277b68 #5 [ffff80002cb6fae0] __alloc_pages_nodemask at ffff8000082c4660 #6 [ffff80002cb6fc50] alloc_pages_vma at ffff8000082e4a98 #7 [ffff80002cb6fca0] do_anonymous_page at ffff80000829f5a8 #8 [ffff80002cb6fce0] __handle_mm_fault at ffff8000082a5974 #9 [ffff80002cb6fd90] handle_mm_fault at ffff8000082a5bd4
At this point, the pgdat contains the following two zones:
NODE: 4 ZONE: 0 ADDR: ffff00817fffe540 NAME: "DMA32"
SIZE: 20480 MIN/LOW/HIGH: 11/28/45
VM_STAT:
NR_FREE_PAGES: 359
NR_ZONE_INACTIVE_ANON: 18813
NR_ZONE_ACTIVE_ANON: 0
NR_ZONE_INACTIVE_FILE: 50
NR_ZONE_ACTIVE_FILE: 0
NR_ZONE_UNEVICTABLE: 0
NR_ZONE_WRITE_PENDING: 0
NR_MLOCK: 0
NR_BOUNCE: 0
NR_ZSPAGES: 0
NR_FREE_CMA_PAGES: 0
NODE: 4 ZONE: 1 ADDR: ffff00817fffec00 NAME: "Normal"
SIZE: 8454144 PRESENT: 98304 MIN/LOW/HIGH: 68/166/264
VM_STAT:
NR_FREE_PAGES: 146
NR_ZONE_INACTIVE_ANON: 94668
NR_ZONE_ACTIVE_ANON: 3
NR_ZONE_INACTIVE_FILE: 735
NR_ZONE_ACTIVE_FILE: 78
NR_ZONE_UNEVICTABLE: 0
NR_ZONE_WRITE_PENDING: 0
NR_MLOCK: 0
NR_BOUNCE: 0
NR_ZSPAGES: 0
NR_FREE_CMA_PAGES: 0In allow_direct_reclaim(), while processing ZONE_DMA32, the sum of inactive/active file-backed pages calculated in zone_reclaimable_pages() based on the result of zone_page_state_snapshot() is zero.
Additionally, since this system lacks swap, the calculation of inactive/ active anonymous pages is skipped.
crash> p nr_swap_pages
nr_swap_pages = $1937 = {
counter = 0
}
As a result, ZONE_DMA32 is deemed unreclaimable and skipped, moving on to the processing of the next zone, ZONE_NORMAL, despite ZONE_DMA32 having free pages significantly exceeding the high watermark.
The problem is that the pgdat->kswapd_failures hasn't been incremented.
crash> px ((struct pglist_data *) 0xffff00817fffe540)->kswapd_failures
$1935 = 0x0This is because the node deemed balanced. The node balancing logic in balance_pgdat() evaluates all zones collectively. If one or more zones (e.g., ZONE_DMA32) have enough free pages to meet their watermarks, the entire node is deemed balanced. This causes balance_pgdat() to exit early before incrementing the kswapd_failures, as it considers the overall memory state acceptable, even though some zones (like ZONE_NORMAL) remain under significant pressure.
The patch ensures that zone_reclaimable_pages() includes free pages (NR_FREE_PAGES) in its calculation when no other reclaimable pages are available (e.g., file-backed or anonymous pages). This change prevents zones like ZONE_DMA32, which have sufficient free pages, from being mistakenly deemed unreclaimable. By doing so, the patch ensures proper node balancing, avoids masking pressure on other zones like ZONE_NORMAL, and prevents infinite loops in throttle_direct_reclaim() caused by allow_direct_reclaim(pgdat) repeatedly returning false.
The kernel hangs due to a task stuck in throttle_direct_reclaim(), caused by a node being incorrectly deemed balanced despite pressure in certain zones, such as ZONE_NORMAL. This issue arises from zone_reclaimable_pages() returning 0 for zones without reclaimable file- backed or anonymous pages, causing zones like ZONE_DMA32 with sufficient free pages to be skipped.
The lack of swap or reclaimable pages results in ZONE_DMA32 being ignored during reclaim, masking pressure in other zones. Consequently, pgdat->kswapd_failures remains 0 in balance_pgdat(), preventing fallback mechanisms in allow_direct_reclaim() from being triggered, leading to an infinite loop in throttle_direct_reclaim().
This patch modifies zone_reclaimable_pages() to account for free pages (NR_FREE_PAGES) when no other reclaimable pages exist. This ensures zones with sufficient free pages are not skipped, enabling proper balancing and reclaim behavior.
--- mm/vmscan.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
mm/vmscan.c +8 -1
@@ -374,7 +374,14 @@ unsigned long zone_reclaimable_pages(strif (can_reclaim_anon_pages (NULL ,zone_to_nid (zone),NULL )) nr +=zone_page_state_snapshot (zone,NR_ZONE_INACTIVE_ANON ) +zone_page_state_snapshot (zone,NR_ZONE_ACTIVE_ANON ); - +/* +* If there are no reclaimable file-backed or anonymous pages, +* ensure zones with sufficient free pages are not skipped. +* This prevents zones like DMA32 from being ignored in reclaim +* scenarios where they can still help alleviate memory pressure. +*/ +if (nr ==0 ) + nr =zone_page_state_snapshot (zone,NR_FREE_PAGES );return nr; }
Greg Kroah-Hartman
maintainerPATCH 152/156 mm: reinstate ability to map write-sealed memfd mappings read-only
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lorenzo Stoakes <[email protected]>
commit 8ec396d05d1b737c87311fb7311f753b02c2a6b1 upstream.
Patch series "mm: reinstate ability to map write-sealed memfd mappings read-only".
In commit 158978945f31 ("mm: perform the mapping_map_writable() check after call_mmap()") (and preceding changes in the same series) it became possible to mmap() F_SEAL_WRITE sealed memfd mappings read-only.
Commit 5de195060b2e ("mm: resolve faulty mmap_region() error path behaviour") unintentionally undid this logic by moving the mapping_map_writable() check before the shmem_mmap() hook is invoked, thereby regressing this change.
This series reworks how we both permit write-sealed mappings being mapped read-only and disallow mprotect() from undoing the write-seal, fixing this regression.
We also add a regression test to ensure that we do not accidentally regress this in future.
Thanks to Julian Orth for reporting this regression.
This patch (of 2):
In commit 158978945f31 ("mm: perform the mapping_map_writable() check after call_mmap()") (and preceding changes in the same series) it became possible to mmap() F_SEAL_WRITE sealed memfd mappings read-only.
This was previously unnecessarily disallowed, despite the man page documentation indicating that it would be, thereby limiting the usefulness of F_SEAL_WRITE logic.
We fixed this by adapting logic that existed for the F_SEAL_FUTURE_WRITE seal (one which disallows future writes to the memfd) to also be used for F_SEAL_WRITE.
For background - the F_SEAL_FUTURE_WRITE seal clears VM_MAYWRITE for a read-only mapping to disallow mprotect() from overriding the seal - an operation performed by seal_check_write(), invoked from shmem_mmap(), the f_op->mmap() hook used by shmem mappings.
By extending this to F_SEAL_WRITE and critically - checking mapping_map_writable() to determine if we may map the memfd AFTER we invoke shmem_mmap() - the desired logic becomes possible. This is because mapping_map_writable() explicitly checks for VM_MAYWRITE, which we will have cleared.
Commit 5de195060b2e ("mm: resolve faulty mmap_region() error path behaviour") unintentionally undid this logic by moving the mapping_map_writable() check before the shmem_mmap() hook is invoked, thereby regressing this change.
We reinstate this functionality by moving the check out of shmem_mmap() and instead performing it in do_mmap() at the point at which VMA flags are being determined, which seems in any case to be a more appropriate place in which to make this determination.
In order to achieve this we rework memfd seal logic to allow us access to this information using existing logic and eliminate the clearing of VM_MAYWRITE from seal_check_write() which we are performing in do_mmap() instead.
--- include/linux/memfd.h | 14 ++++++++++++ include/linux/mm.h | 58 ++++++++++++++++++++++++++++++++++---------------- mm/memfd.c | 2 - mm/mmap.c | 4 +++ 4 files changed, 59 insertions(+), 19 deletions(-)
include/linux/memfd.h +14 -0
@@ -7,6 +7,7 @@#ifdef CONFIG_MEMFD_CREATE extern long memfd_fcntl (struct file *file,unsigned int cmd,unsigned int arg);struct folio *memfd_alloc_folio (struct file *memfd,pgoff_t idx); +unsigned int *memfd_file_seals_ptr (struct file *file);#else static inline long memfd_fcntl (struct file *f,unsigned int c,unsigned int a) {
@@ -16,6 +17,19 @@ static inline struct folio *memfd_alloc_ {return ERR_PTR (-EINVAL ); } + +static inline unsigned int *memfd_file_seals_ptr (struct file *file) +{ +return NULL ; +}#endif +/* Retrieve memfd seals associated with the file, if any. */ +static inline unsigned int memfd_file_seals (struct file *file) +{ +unsigned int *sealsp =memfd_file_seals_ptr (file); + +return sealsp ? *sealsp :0 ; +} +#endif /* __LINUX_MEMFD_H */
include/linux/mm.h +40 -18
70 lines not on this page · raw message
mm/memfd.c +1 -1
@@ -170,7 +170,7 @@ static int memfd_wait_for_pins(struct adreturn error; } -static unsigned int *memfd_file_seals_ptr (struct file *file) +unsigned int *memfd_file_seals_ptr (struct file *file) {if (shmem_file (file))return &SHMEM_I (file_inode (file))->seals;
mm/mmap.c +4 -0
@@ -47,6 +47,7 @@#include <linux/oom.h> #include <linux/sched/mm.h> #include <linux/ksm.h> +#include <linux/memfd.h> #include <linux/uaccess.h> #include <asm/cacheflush.h>
@@ -368,6 +369,7 @@ unsigned long do_mmap(struct file *file,if (file) {struct inode *inode =file_inode (file); +unsigned int seals =memfd_file_seals (file);unsigned long flags_mask;if (!file_mmap_ok (file, inode, pgoff, len))
@@ -408,6 +410,8 @@ unsigned long do_mmap(struct file *file, vm_flags |=VM_SHARED |VM_MAYSHARE ;if (!(file->f_mode &FMODE_WRITE )) vm_flags &= ~(VM_MAYWRITE |VM_SHARED ); +else if (is_readonly_sealed (seals, vm_flags)) + vm_flags &= ~VM_MAYWRITE ; fallthrough;case MAP_PRIVATE :if (!(file->f_mode &FMODE_READ ))
Greg Kroah-Hartman
maintainerPATCH 153/156 mm: hugetlb: independent PMD page table shared count
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Liu Shixin <[email protected]>
commit 59d9094df3d79443937add8700b2ef1a866b1081 upstream.
The folio refcount may be increased unexpectly through try_get_folio() by caller such as split_huge_pages. In huge_pmd_unshare(), we use refcount to check whether a pmd page table is shared. The check is incorrect if the refcount is increased by the above caller, and this can cause the page table leaked:
BUG: Bad page state in process sh pfn:109324 page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x66 pfn:0x109324 flags: 0x17ffff800000000(node=0|zone=2|lastcpupid=0xfffff) page_type: f2(table) raw: 017ffff800000000 0000000000000000 0000000000000000 0000000000000000 raw: 0000000000000066 0000000000000000 00000000f2000000 0000000000000000 page dumped because: nonzero mapcount ... CPU: 31 UID: 0 PID: 7515 Comm: sh Kdump: loaded Tainted: G B 6.13.0-rc2master+ #7 Tainted: [B]=BAD_PAGE Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015 Call trace: show_stack+0x20/0x38 (C) dump_stack_lvl+0x80/0xf8 dump_stack+0x18/0x28 bad_page+0x8c/0x130 free_page_is_bad_report+0xa4/0xb0 free_unref_page+0x3cc/0x620 __folio_put+0xf4/0x158 split_huge_pages_all+0x1e0/0x3e8 split_huge_pages_write+0x25c/0x2d8 full_proxy_write+0x64/0xd8 vfs_write+0xcc/0x280 ksys_write+0x70/0x110 __arm64_sys_write+0x24/0x38 invoke_syscall+0x50/0x120 el0_svc_common.constprop.0+0xc8/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x34/0x128 el0t_64_sync_handler+0xc8/0xd0 el0t_64_sync+0x190/0x198
The issue may be triggered by damon, offline_page, page_idle, etc, which will increase the refcount of page table.
1. The page table itself will be discarded after reporting the "nonzero mapcount".
2. The HugeTLB page mapped by the page table miss freeing since we treat the page table as shared and a shared page table will not be unmapped.
Fix it by introducing independent PMD page table shared count. As described by comment, pt_index/pt_mm/pt_frag_refcount are used for s390 gmap, x86 pgds and powerpc, pt_share_count is used for x86/arm64/riscv pmds, so we can reuse the field as pt_share_count.
--- include/linux/mm.h | 1 + include/linux/mm_types.h | 30 ++++++++++++++++++++++++++++++ mm/hugetlb.c | 16 +++++++--------- 3 files changed, 38 insertions(+), 9 deletions(-)
include/linux/mm.h +1 -0
@@ -3100,6 +3100,7 @@ static inline bool pagetable_pmd_ctor(stif (!pmd_ptlock_init (ptdesc))return false;__folio_set_pgtable (folio); +ptdesc_pmd_pts_init (ptdesc);lruvec_stat_add_folio (folio,NR_PAGETABLE );return true; }
include/linux/mm_types.h +30 -0
@@ -445,6 +445,7 @@ FOLIO_MATCH(compound_head, _head_2a);* @pt_index: Used for s390 gmap. * @pt_mm: Used for x86 pgds. * @pt_frag_refcount: For fragmented page table tracking. Powerpc only. +* @pt_share_count: Used for HugeTLB PMD page table share count. * @_pt_pad_2: Padding to ensure proper alignment. * @ptl: Lock for the page table. * @__page_type: Same as page->page_type. Unused for page tables.
@@ -471,6 +472,9 @@ struct ptdesc {pgoff_t pt_index;struct mm_struct *pt_mm;atomic_t pt_frag_refcount; +#ifdef CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING +atomic_t pt_share_count; +#endif };union {
@@ -516,6 +520,32 @@ static_assert(sizeof(struct ptdesc) <= s const struct page *: (const struct ptdesc *)(p), \ struct page *: (struct ptdesc *)(p))) +#ifdef CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING +static inline void ptdesc_pmd_pts_init(struct ptdesc *ptdesc) +{ +atomic_set (&ptdesc->pt_share_count,0 ); +} + +static inline void ptdesc_pmd_pts_inc (struct ptdesc *ptdesc) +{ +atomic_inc (&ptdesc->pt_share_count); +} + +static inline void ptdesc_pmd_pts_dec (struct ptdesc *ptdesc) +{ +atomic_dec (&ptdesc->pt_share_count); +} + +static inline int ptdesc_pmd_pts_count (struct ptdesc *ptdesc) +{ +return atomic_read (&ptdesc->pt_share_count); +} +#else +static inline void ptdesc_pmd_pts_init (struct ptdesc *ptdesc) +{ +} +#endif +/* * Used for sizing the vmemmap region on some architectures */
mm/hugetlb.c +7 -9
@@ -7200,7 +7200,7 @@ pte_t *huge_pmd_share(struct mm_struct * spte =hugetlb_walk (svma, saddr,vma_mmu_pagesize (svma));if (spte) { -get_page (virt_to_page (spte)); +ptdesc_pmd_pts_inc (virt_to_ptdesc (spte));break ; } }
@@ -7215,7 +7215,7 @@ pte_t *huge_pmd_share(struct mm_struct * (pmd_t *)((unsigned long)spte & PAGE_MASK));mm_inc_nr_pmds (mm); }else { -put_page (virt_to_page (spte)); +ptdesc_pmd_pts_dec (virt_to_ptdesc (spte)); }spin_unlock (&mm->page_table_lock); out:
@@ -7227,10 +7227,6 @@ out:/* * unmap huge page backed by shared pte. * -* Hugetlb pte page is ref counted at the time of mapping. If pte is shared -* indicated by page_count > 1, unmap is achieved by clearing pud and -* decrementing the ref count. If count == 1, the pte page is not shared. -* * Called with page table lock held. * * returns: 1 successfully unmapped a shared pte page
@@ -7239,18 +7235,20 @@ out:int huge_pmd_unshare (struct mm_struct *mm,struct vm_area_struct *vma,unsigned long addr,pte_t *ptep) { +unsigned long sz =huge_page_size (hstate_vma (vma));pgd_t *pgd =pgd_offset (mm, addr);p4d_t *p4d =p4d_offset (pgd, addr);pud_t *pud =pud_offset (p4d, addr);i_mmap_assert_write_locked (vma->vm_file->f_mapping);hugetlb_vma_assert_locked (vma); -BUG_ON (page_count (virt_to_page (ptep)) ==0 ); -if (page_count (virt_to_page (ptep)) ==1 ) +if (sz !=PMD_SIZE ) +return 0 ; +if (!ptdesc_pmd_pts_count (virt_to_ptdesc (ptep)))return 0 ;pud_clear (pud); -put_page (virt_to_page (ptep)); +ptdesc_pmd_pts_dec (virt_to_ptdesc (ptep));mm_dec_nr_pmds (mm);return 1 ; }
Greg Kroah-Hartman
maintainerPATCH 154/156 mptcp: fix TCP options overflow.
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paolo Abeni <[email protected]>
commit cbb26f7d8451fe56ccac802c6db48d16240feebd upstream.
Syzbot reported the following splat:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 1 UID: 0 PID: 5836 Comm: sshd Not tainted 6.13.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024 RIP: 0010:_compound_head include/linux/page-flags.h:242 [inline] RIP: 0010:put_page+0x23/0x260 include/linux/mm.h:1552 Code: 90 90 90 90 90 90 90 55 41 57 41 56 53 49 89 fe 48 bd 00 00 00 00 00 fc ff df e8 f8 5e 12 f8 49 8d 5e 08 48 89 d8 48 c1 e8 03 <80> 3c 28 00 74 08 48 89 df e8 8f c7 78 f8 48 8b 1b 48 89 de 48 83 RSP: 0000:ffffc90003916c90 EFLAGS: 00010202 RAX: 0000000000000001 RBX: 0000000000000008 RCX: ffff888030458000 RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000 RBP: dffffc0000000000 R08: ffffffff898ca81d R09: 1ffff110054414ac R10: dffffc0000000000 R11: ffffed10054414ad R12: 0000000000000007 R13: ffff88802a20a542 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f34f496e800(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f9d6ec9ec28 CR3: 000000004d260000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> skb_page_unref include/linux/skbuff_ref.h:43 [inline] __skb_frag_unref include/linux/skbuff_ref.h:56 [inline] skb_release_data+0x483/0x8a0 net/core/skbuff.c:1119 skb_release_all net/core/skbuff.c:1190 [inline] __kfree_skb+0x55/0x70 net/core/skbuff.c:1204 tcp_clean_rtx_queue net/ipv4/tcp_input.c:3436 [inline] tcp_ack+0x2442/0x6bc0 net/ipv4/tcp_input.c:4032 tcp_rcv_state_process+0x8eb/0x44e0 net/ipv4/tcp_input.c:6805 tcp_v4_do_rcv+0x77d/0xc70 net/ipv4/tcp_ipv4.c:1939 tcp_v4_rcv+0x2dc0/0x37f0 net/ipv4/tcp_ipv4.c:2351 ip_protocol_deliver_rcu+0x22e/0x440 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x341/0x5f0 net/ipv4/ip_input.c:233 NF_HOOK+0x3a4/0x450 include/linux/netfilter.h:314 NF_HOOK+0x3a4/0x450 include/linux/netfilter.h:314 __netif_receive_skb_one_core net/core/dev.c:5672 [inline] __netif_receive_skb+0x2bf/0x650 net/core/dev.c:5785 process_backlog+0x662/0x15b0 net/core/dev.c:6117 __napi_poll+0xcb/0x490 net/core/dev.c:6883 napi_poll net/core/dev.c:6952 [inline] net_rx_action+0x89b/0x1240 net/core/dev.c:7074 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 __do_softirq kernel/softirq.c:595 [inline] invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0x57/0xc0 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0033:0x7f34f4519ad5 Code: 85 d2 74 0d 0f 10 02 48 8d 54 24 20 0f 11 44 24 20 64 8b 04 25 18 00 00 00 85 c0 75 27 41 b8 08 00 00 00 b8 0f 01 00 00 0f 05 <48> 3d 00 f0 ff ff 76 75 48 8b 15 24 73 0d 00 f7 d8 64 89 02 48 83 RSP: 002b:00007ffec5b32ce0 EFLAGS: 00000246 RAX: 0000000000000001 RBX: 00000000000668a0 RCX: 00007f34f4519ad5 RDX: 00007ffec5b32d00 RSI: 0000000000000004 RDI: 0000564f4bc6cae0 RBP: 0000564f4bc6b5a0 R08: 0000000000000008 R09: 0000000000000000 R10: 00007ffec5b32de8 R11: 0000000000000246 R12: 0000564f48ea8aa4 R13: 0000000000000001 R14: 0000564f48ea93e8 R15: 00007ffec5b32d68 </TASK>
Eric noted a probable shinfo->nr_frags corruption, which indeed occurs.
The root cause is a buggy MPTCP option len computation in some
circumstances: the ADD_ADDR option should be mutually exclusive with DSS since the blamed commit.
Still, mptcp_established_options_add_addr() tries to set the relevant info in mptcp_out_options, if the remaining space is large enough even when DSS is present.
Since the ADD_ADDR infos and the DSS share the same union fields, adding first corrupts the latter. In the worst-case scenario, such corruption increases the DSS binary layout, exceeding the computed length and possibly overwriting the skb shared info.
Address the issue by enforcing mutual exclusion in mptcp_established_options_add_addr(), too.
--- net/mptcp/options.c | 7 +++++++ 1 file changed, 7 insertions(+)
net/mptcp/options.c +7 -0
@@ -667,8 +667,15 @@ static bool mptcp_established_options_ad &echo, &drop_other_suboptions))return false; +/* +* Later on, mptcp_write_options() will enforce mutually exclusion with +* DSS, bail out if such option is set and we can't drop it. +*/ if (drop_other_suboptions) remaining += opt_size; +else if (opts->suboptions &OPTION_MPTCP_DSS ) +return false; + len =mptcp_add_addr_len (opts->addr.family, echo, !!opts->addr.port);if (remaining < len)return false;
Greg Kroah-Hartman
maintainerPATCH 155/156 mptcp: fix recvbuffer adjust on sleeping rcvmsg
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paolo Abeni <[email protected]>
commit 449e6912a2522af672e99992e1201a454910864e upstream.
If the recvmsg() blocks after receiving some data - i.e. due to SO_RCVLOWAT - the MPTCP code will attempt multiple times to adjust the receive buffer size, wrongly accounting every time the cumulative of received data - instead of accounting only for the delta.
Address the issue moving mptcp_rcv_space_adjust just after the data reception and passing it only the just received bytes.
This also removes an unneeded difference between the TCP and MPTCP RX code path implementation.
--- net/mptcp/protocol.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
net/mptcp/protocol.c +3 -3
@@ -1939,6 +1939,8 @@ do_error: goto out; } +static void mptcp_rcv_space_adjust (struct mptcp_sock *msk,int copied); + static int __mptcp_recvmsg_mskq(struct mptcp_sock *msk, struct msghdr *msg, size_t len, int flags,
@@ -1992,6 +1994,7 @@ static int __mptcp_recvmsg_mskq(struct mbreak ; } +mptcp_rcv_space_adjust (msk, copied);return copied; }
@@ -2268,7 +2271,6 @@ static int mptcp_recvmsg(struct sock *sk }pr_debug ("block timeout %ld\n" , timeo); -mptcp_rcv_space_adjust (msk, copied); err =sk_wait_data (sk, &timeo,NULL );if (err <0 ) { err = copied ? : err;
@@ -2276,8 +2278,6 @@ static int mptcp_recvmsg(struct sock *sk } } -mptcp_rcv_space_adjust (msk, copied); - out_err:if (cmsg_flags && copied >=0 ) {if (cmsg_flags &MPTCP_CMSG_TS )
Greg Kroah-Hartman
maintainerPATCH 156/156 mptcp: dont always assume copied data in mptcp_cleanup_rbuf()
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paolo Abeni <[email protected]>
commit 551844f26da2a9f76c0a698baaffa631d1178645 upstream.
Under some corner cases the MPTCP protocol can end-up invoking mptcp_cleanup_rbuf() when no data has been copied, but such helper assumes the opposite condition.
Explicitly drop such assumption and performs the costly call only when strictly needed - before releasing the msk socket lock.
--- net/mptcp/protocol.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
net/mptcp/protocol.c +9 -9
@@ -528,13 +528,13 @@ static void mptcp_send_ack(struct mptcp_mptcp_subflow_send_ack (mptcp_subflow_tcp_sock (subflow)); } -static void mptcp_subflow_cleanup_rbuf (struct sock *ssk) +static void mptcp_subflow_cleanup_rbuf (struct sock *ssk,int copied) {bool slow; slow =lock_sock_fast (ssk);if (tcp_can_send_ack (ssk)) -tcp_cleanup_rbuf (ssk,1 ); +tcp_cleanup_rbuf (ssk, copied);unlock_sock_fast (ssk, slow); }
@@ -551,7 +551,7 @@ static bool mptcp_subflow_could_cleanup( (ICSK_ACK_PUSHED2 | ICSK_ACK_PUSHED))); } -static void mptcp_cleanup_rbuf (struct mptcp_sock *msk) +static void mptcp_cleanup_rbuf (struct mptcp_sock *msk,int copied) {int old_space =READ_ONCE (msk->old_wspace);struct mptcp_subflow_context *subflow;
@@ -559,14 +559,14 @@ static void mptcp_cleanup_rbuf(struct mpint space =__mptcp_space (sk);bool cleanup, rx_empty; - cleanup = (space >0 ) && (space >= (old_space <<1 )); - rx_empty = !__mptcp_rmem (sk); + cleanup = (space >0 ) && (space >= (old_space <<1 )) && copied; + rx_empty = !__mptcp_rmem (sk) && copied;mptcp_for_each_subflow (msk, subflow) {struct sock *ssk =mptcp_subflow_tcp_sock (subflow);if (cleanup ||mptcp_subflow_could_cleanup (ssk, rx_empty)) -mptcp_subflow_cleanup_rbuf (ssk); +mptcp_subflow_cleanup_rbuf (ssk, copied); } }
@@ -2220,9 +2220,6 @@ static int mptcp_recvmsg(struct sock *sk copied += bytes_read; -/* be sure to advertise window change */ -mptcp_cleanup_rbuf (msk); -if (skb_queue_empty (&msk->receive_queue) &&__mptcp_move_skbs (msk))continue ;
@@ -2271,6 +2268,7 @@ static int mptcp_recvmsg(struct sock *sk }pr_debug ("block timeout %ld\n" , timeo); +mptcp_cleanup_rbuf (msk, copied); err =sk_wait_data (sk, &timeo,NULL );if (err <0 ) { err = copied ? : err;
@@ -2278,6 +2276,8 @@ static int mptcp_recvmsg(struct sock *sk } } +mptcp_cleanup_rbuf (msk, copied); + out_err:if (cmsg_flags && copied >=0 ) {if (cmsg_flags &MPTCP_CMSG_TS )
Hi Greg
no regressions here on x86_64 (RKL, Intel 11th Gen. CPU)
Thanks
Hi!
Quoted 4 lines
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
CIP testing did not find any problems here: (obsvx2 target is down)
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-6.12.y
6.6, 5.15, 5.4 pass our testing, too:
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-6.6.y
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-5.15.y
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-5.4.y
Best regards,
Pavel
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Compile failed during modpost stage:
MODPOST Module.symvers
ERROR: modpost: "i915_gem_object_set_to_cpu_domain" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_ring_begin" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "shmem_unpin_map" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_gvt_set_ops" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_gvt_clear_ops" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_alloc" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_runtime_pm_get" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_create_shmem" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_pin_map" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "__px_dma" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
I am looking into this to find the problem commit.
thanks,
-- Shuah
Shuah Khan
Tested-byQuoted 22 lines · Shuah Khan
Quoted 14 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.12.y and the diffstat can be found below.Quoted 4 lines
thanks,
greg k-h
Compile failed during modpost stage:
Quoted 12 lines
MODPOST Module.symvers
ERROR: modpost: "i915_gem_object_set_to_cpu_domain" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_ring_begin" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "shmem_unpin_map" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_gvt_set_ops" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_gvt_clear_ops" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_alloc" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "intel_runtime_pm_get" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_create_shmem" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_gem_object_pin_map" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "__px_dma" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
You can ignore this.
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Tested rc1 against the Fedora build system (aarch64, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.
Hello,
Quoted 7 lines · On Mon, 6 Jan 2025 16:14:46 +0100 Greg Kroah-Hartman…
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
This rc kernel passes DAMON functionality test[1] on my test machine. Attaching the test results summary below. Please note that I retrieved the kernel from linux-stable-rc tree[2].
[1] https://github.com/damonitor/damon-tests/tree/next/corr
[2] cab9a964396d ("Linux 6.12.9-rc1")
Thanks,
SJ
[...]
---
ok 1 selftests: damon: debugfs_attrs.sh # SKIP
ok 2 selftests: damon: debugfs_schemes.sh # SKIP
ok 3 selftests: damon: debugfs_target_ids.sh # SKIP
ok 4 selftests: damon: sysfs.sh
ok 5 selftests: damon: sysfs_update_schemes_tried_regions_wss_estimation.py ok 6 selftests: damon: damos_quota.py
ok 7 selftests: damon: damos_quota_goal.py
ok 8 selftests: damon: damos_apply_interval.py
ok 9 selftests: damon: damos_tried_regions.py
ok 10 selftests: damon: damon_nr_regions.py
ok 11 selftests: damon: reclaim.sh
ok 12 selftests: damon: lru_sort.sh
ok 13 selftests: damon: debugfs_empty_targets.sh # SKIP
ok 14 selftests: damon: debugfs_huge_count_read_write.sh # SKIP ok 15 selftests: damon: debugfs_duplicate_context_creation.sh # SKIP ok 16 selftests: damon: debugfs_rm_non_contexts.sh # SKIP
ok 17 selftests: damon: debugfs_target_ids_read_before_terminate_race.sh ok 18 selftests: damon: debugfs_target_ids_pid_leak.sh
ok 19 selftests: damon: sysfs_update_removed_scheme_dir.sh
ok 20 selftests: damon: sysfs_update_schemes_tried_regions_hang.py ok 1 selftests: damon-tests: kunit.sh
ok 2 selftests: damon-tests: huge_count_read_write.sh # SKIP
ok 3 selftests: damon-tests: buffer_overflow.sh
ok 4 selftests: damon-tests: rm_contexts.sh # SKIP
ok 5 selftests: damon-tests: record_null_deref.sh
ok 6 selftests: damon-tests: dbgfs_target_ids_read_before_terminate_race.sh ok 7 selftests: damon-tests: dbgfs_target_ids_pid_leak.sh
ok 8 selftests: damon-tests: damo_tests.sh
ok 9 selftests: damon-tests: masim-record.sh
ok 10 selftests: damon-tests: build_i386.sh
ok 11 selftests: damon-tests: build_arm64.sh # SKIP
ok 12 selftests: damon-tests: build_m68k.sh # SKIP
ok 13 selftests: damon-tests: build_i386_idle_flag.sh
ok 14 selftests: damon-tests: build_i386_highpte.sh
ok 15 selftests: damon-tests: build_nomemcg.sh
PASS
Am 06.01.2025 um 16:14 schrieb Greg Kroah-Hartman:
Quoted 4 lines
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.
Beste Grüße,
Peter Schneider
Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge, enjoy the air and behold the view. Climb it so you can see the world, not so the world can see you. -- David McCullough Jr. OpenPGP: 0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244 Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc https://keys.mailvelope.com/pks/lookup?op=get&[email protected] https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
## Build
* kernel: 6.12.9-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: cab9a964396de70339b5d65f9666da355b6c164e
* git describe: v6.12.8-157-gcab9a964396d
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.12.y/build/v6.12.8-157-gcab9a964396d
## Test Regressions (compared to v6.12.7-115-ged0d55fbe89c)
## Metric Regressions (compared to v6.12.7-115-ged0d55fbe89c)
## Test Fixes (compared to v6.12.7-115-ged0d55fbe89c)
## Metric Fixes (compared to v6.12.7-115-ged0d55fbe89c)
## Test result summary
total: 113584, pass: 91189, fail: 4574, skip: 17818, xfail: 3
## Build Summary
* arc: 6 total, 5 passed, 1 failed
* arm: 143 total, 137 passed, 6 failed
* arm64: 58 total, 56 passed, 2 failed
* i386: 22 total, 19 passed, 3 failed
* mips: 38 total, 33 passed, 5 failed
* parisc: 5 total, 3 passed, 2 failed
* powerpc: 44 total, 40 passed, 4 failed
* riscv: 27 total, 24 passed, 3 failed
* s390: 26 total, 22 passed, 4 failed
* sh: 6 total, 5 passed, 1 failed
* sparc: 5 total, 3 passed, 2 failed
* x86_64: 50 total, 49 passed, 1 failed
## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-filesystems-epoll
* kselftest-firmware
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-rust
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-x86
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-build-clang
* log-parser-build-gcc
* log-parser-test
* ltp-capability
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-filecaps
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture
--
Linaro LKFT
https://lkft.linaro.org
Works as it should
AMD Ryzen 5 5600 6-Core Processor:
https://www.inet.se/produkt/5304697/amd-ryzen-5-5600-3-5-ghz-35mb on a
https://www.gigabyte.com/Motherboard/B550-AORUS-ELITE-V2-rev-12
https://www.inet.se/produkt/1903406/gigabyte-b550-aorus-elite-v2
motherboard :)
running Arch Linux with the testing repos enabled:
https://archlinux.org/ https://archboot.com/
https://wiki.archlinux.org/title/Arch_Testing_Team
Den mån 6 jan. 2025 kl 16:34 skrev Greg Kroah-Hartman <[email protected]>:
Quoted 679 lines
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:Greg Kroah-Hartman <[email protected]>
Linux 6.12.9-rc1Paolo Abeni <[email protected]>
mptcp: don't always assume copied data inmptcp_cleanup_rbuf()Paolo Abeni <[email protected]>
mptcp: fix recvbuffer adjust on sleeping rcvmsgPaolo Abeni <[email protected]>
mptcp: fix TCP options overflow.Liu Shixin <[email protected]>
mm: hugetlb: independent PMD page table shared countLorenzo Stoakes <[email protected]>
mm: reinstate ability to map write-sealed memfd mappings read-onlySeiji Nishikawa <[email protected]>
mm: vmscan: account for free pages to prevent infinite Loop inthrottle_direct_reclaim()Alessandro Carminati <[email protected]>
mm/kmemleak: fix sleeping function called from invalid context at print messageYafang Shao <[email protected]>
mm/readahead: fix large folio support in async readaheadJoshua Washington <[email protected]>
gve: trigger RX NAPI instead of TX NAPI ingve_xsk_wakeupJoshua Washington <[email protected]>
gve: guard XDP xmit NDO on existence of xdp queuesJoshua Washington <[email protected]>
gve: fix XDP allocation path in edge casesJoshua Washington <[email protected]>
gve: guard XSK operations on the existence of queuesJoshua Washington <[email protected]>
gve: clean XDP queues ingve_tx_stop_ring_gqiJoshua Washington <[email protected]>
gve: process XSK TX descriptors as part of RX NAPIDavid Hildenbrand <[email protected]>
fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bitBaolin Wang <[email protected]>
mm: shmem: fix incorrect index alignment forwithin_sizepolicyBaolin Wang <[email protected]>
mm: shmem: fix the update of 'shmem_falloc->nr_unswapped'SeongJae Park <[email protected]>
mm/damon/core: fix newdamon_targetobjects leaks ondamon_commit_targets()SeongJae Park <[email protected]>
mm/damon/core: fix ignored quota goals and filters of newly committed schemesSiddharth Vadapalli <[email protected]>
net: ethernet: ti: am65-cpsw: default to round-robin for host port receiveZilin Guan <[email protected]>
fgraph: Add READ_ONCE() when accessing fgraph_array[]Kees Cook <[email protected]>
wifi: iwlwifi: mvm: Fix__counted_byusage in cfg80211_wowlan_nd_*Biju Das <[email protected]>
drm: adv7511: Fix use-after-free in adv7533_attach_dsi()Biju Das <[email protected]>
dt-bindings: display: adi,adv7533: Drop single lane supportBiju Das <[email protected]>
drm: adv7511: Drop dsi single lane supportPavel Begunkov <[email protected]>
io_uring/rw: fix downgraded mshot readNikolay Kuratov <[email protected]>
net/sctp: Prevent autoclose integer overflow insctp_association_init()Henry Huang <[email protected]>
sched_ext: initialize kit->cursor.flagsPascal Hambourg <[email protected]>
sky2: Add device ID 11ab:4373 for Marvell 88E8075Tvrtko Ursulin <[email protected]>
workqueue: Do not warn when cancellingWQ_MEM_RECLAIMwork from !WQ_MEM_RECLAIM workerEvgenii Shatokhin <[email protected]>
pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap lockingDan Carpenter <[email protected]>
RDMA/uverbs: Prevent integer overflow issueTejun Heo <[email protected]>
sched_ext: Fix invalid irq restore inscx_ops_bypass()Kuan-Wei Chiu <[email protected]>
scripts/sorttable: fixorc_sort_cmp()to maintain symmetry and transitivityNikolaus Voss <[email protected]>
clk: clk-imx8mp-audiomix: fix function signatureYang Erkun <[email protected]>
maple_tree: reload mas before the second call formas_empty_areaArnd Bergmann <[email protected]>
kcov: markin_softirq_really()as__always_inlineDennis Lam <[email protected]>
ocfs2: fix slab-use-after-free due to dangling pointerdqi_privTakashi Iwai <[email protected]>
ALSA: seq: oss: Fix races at processing SysEx messagesDaniel Schaefer <[email protected]>
ALSA hda/realtek: Add quirk for Framework F111:000CNirmoy Das <[email protected]>
drm/xe: Wait for migration job before unmapping pagesNirmoy Das <[email protected]>
drm/xe: Use non-interruptible wait when moving BO to systemKohei Enju <[email protected]>
ftrace: Fix function profiler's filtering functionalityTakashi Iwai <[email protected]>
ALSA: seq: Check UMP support formidi_versionchangeJens Axboe <[email protected]>
io_uring/kbuf: use pre-committed buffer address for non-pollable fileMark Zhang <[email protected]>
RDMA/mlx5: Enable multiplane mode only when it is supportedTakashi Iwai <[email protected]>
Revert "ALSA: ump: Don't enumeration invalid groups for legacy rawmidi"Thomas Weißschuh <[email protected]>
kbuild: pacman-pkg: provide versioned linux-api-headers packageMasahiro Yamada <[email protected]>
modpost: fix the missed iteration for the max bit indo_input()Mostafa Saleh <[email protected]>
scripts/mksysmap: Fix escape chars '$'Maksim Kiselev <[email protected]>
clk: thead: Fix TH1520 emmc and shdci clock rateEduard Zingerman <[email protected]>
bpf: consider that tail calls invalidate packet pointersEduard Zingerman <[email protected]>
bpf: refactorbpf_helper_changes_pkt_datato use helper numberLeon Romanovsky <[email protected]>
ARC: build: Try to guess GCC variant of cross compilerUros Bizjak <[email protected]>
irqchip/gic: Correct declaration of*percpu_basepointer in uniongic_baseLuiz Augusto von Dentz <[email protected]>
Bluetooth:hci_core: Fix sleeping function called from invalid contextDaniele Palmas <[email protected]>
net: usb:qmi_wwan: add Telit FE910C04 compositionsEnzo Matsumiya <[email protected]>
smb: client: destroycfid_put_wqon module exitNamjae Jeon <[email protected]>
ksmbd: setATTR_CTIMEflags when setting mtimeHobin Woo <[email protected]>
ksmbd: retryiterate_dirinsmb2_query_dirAnton Protopopov <[email protected]>
bpf: fix potential error returnHardevsinh Palaniya <[email protected]>
ARC: bpf: Correct conditional check in 'check_jmp_32'Paul E. McKenney <[email protected]>
ARC: build: Use__forceto suppress per-CPU cmpxchg warningsVineet Gupta <[email protected]>
ARC: build: disallow invalid PAE40 + 4K page configStephen Gordon <[email protected]>
ASoC: audio-graph-card: Callof_node_put()on correct nodeNiravkumar L Rabara <[email protected]>
spi: spi-cadence-qspi: Disable STIG mode for Altera SoCFPGA.Adrian Ratiu <[email protected]>
sound: usb: format: don't warn that raw DSD is unsupportedAdrian Ratiu <[email protected]>
sound: usb: enable DSD output for ddHiFi TC44CVasiliy Kovalev <[email protected]>
ALSA: hda/realtek: Add new alc2xx-fixup-headset-mic modelTakashi Iwai <[email protected]>
ALSA: hda/ca0132: Use standard HD-audio quirk matching helpersFilipe Manana <[email protected]>
btrfs: flush delalloc workers queue before stopping cleaner kthread during unmountJohannes Thumshirn <[email protected]>
btrfs: handlebio_split()errorsVasiliy Kovalev <[email protected]>
ALSA: hda/realtek - Add support for ASUS Zen AIO 27Z272SD_A272SDaudioSimon Trimmer <[email protected]>
ALSA: hda: cs35l56: Remove calls tocs35l56_force_sync_asp1_registers_from_cache()Prike Liang <[email protected]>
drm/amdkfd: Correct the migration DMA map directionVictor Zhao <[email protected]>
drm/amdgpu: use sjt mec fw on gfx943 for sriovEmmanuel Grumbach <[email protected]>
wifi: mac80211: wake the queues in case of failure in resumeAditya Kumar Singh <[email protected]>
wifi: cfg80211: clear link ID from bitmap during link delete after clean upIssam Hamdi <[email protected]>
wifi: mac80211: fix mbss changed flags corruption on 32 bit systemsKan Liang <[email protected]>
perf/x86/intel: Add Arrow Lake U supportFilipe Manana <[email protected]>
btrfs: allow swap activation to be interruptibleMeghana Malladi <[email protected]>
net: ti: icssg-prueth: Fix clearing ofIEP_CMP_CFGregisters duringiep_initMD Danish Anwar <[email protected]>
net: ti: icssg-prueth: Fix firmware load sequence.Eric Dumazet <[email protected]>
ila: serialize calls tonf_register_net_hooks()Eric Dumazet <[email protected]>
af_packet: fixvlan_get_protocol_dgram()vsMSG_PEEKEric Dumazet <[email protected]>
af_packet: fixvlan_get_tci()vsMSG_PEEKMaciej S. Szmigiero <[email protected]>
net: wwan: iosm: Properly check for valid exec stage inipc_mmio_init()Eric Dumazet <[email protected]>
net: restrictSO_REUSEPORTto inet socketsWillem de Bruijn <[email protected]>
net: reenableNETIF_F_IPV6_CSUMoffload for BIG TCP packetsLiang Jie <[email protected]>
net: sfc: Correctkey_lenforefx_tc_ct_zone_ht_paramsJens Axboe <[email protected]>
io_uring/net: always initialize kmsg->msg.msg_inq upfrontKalesh AP <[email protected]>
RDMA/bnxt_re: Fix error recovery sequenceLi Zhijian <[email protected]>
RDMA/rtrs: Ensure 'ib_sgelist' is accessibleJinjian Song <[email protected]>
net: wwan: t7xx: Fix FSM command timeout issueJoe Hattori <[email protected]>
net:mv643xx_eth: fix an OF node reference leakVitalii Mordan <[email protected]>
eth: bcmsysport: fix call balance of priv->clk handling routinesTanya Agarwal <[email protected]>
ALSA: usb-audio: US16x08: Initialize array before useLeo Stone <[email protected]>
nvmet: Don't overflow subsysnqnAntonio Pastor <[email protected]>
net: llc: reset skb->transport_headerPablo Neira Ayuso <[email protected]>
netfilter:nft_set_hash: unaligned atomic read on structnft_set_extSu Hui <[email protected]>
workqueue: add printf attribute to__alloc_workqueue()Rodrigo Vivi <[email protected]>
drm/i915/dg1: Fix power gate sequence.Suraj Kandpal <[email protected]>
drm/i915/cx0_phy: Fix C10 pll programming sequenceZhu Yanjun <[email protected]>
RDMA/rxe: Remove the direct link tonet_deviceJianbo Liu <[email protected]>
net/mlx5e: Keep netdev when leave switchdev for devlink set legacy onlyJianbo Liu <[email protected]>
net/mlx5e: Skip restore TC rules for vport rep without loaded flagDragos Tatulea <[email protected]>
net/mlx5e: macsec: Maintain TX SA fromencoding_saShahar Shitrit <[email protected]>
net/mlx5: DR, select MSIX vector 0 for completion queue creationKory Maincent <[email protected]>
net: pse-pd: tps23881: Fix power on/off issueIlya Shchipletsov <[email protected]>
netrom: check buffer length before accessing itXiao Liang <[email protected]>
net: Fix netns forip_tunnel_init_flow()Wang Liang <[email protected]>
net: fix memory leak intcp_conn_request()Joe Hattori <[email protected]>
net: stmmac: restructure the error path ofstmmac_probe_config_dt()Lucas De Marchi <[email protected]>
drm/xe: Fix fault on fd close after unbindMichal Wajdeczko <[email protected]>
drm/xe/pf: Use correct function to check LMEM provisioningJohn Harrison <[email protected]>
drm/xe: Revert some changes that break a mesa debug toolChengchang Tang <[email protected]>
RDMA/hns: Fix missing flush CQE for DWQEChengchang Tang <[email protected]>
RDMA/hns: Fix warning storm caused by invalid input in IO pathChengchang Tang <[email protected]>
RDMA/hns: Fix accessing invaliddip_ctxduring destroying QPwenglianfa <[email protected]>
RDMA/hns: Fix mapping error of zero-hop WQE bufferJakub Kicinski <[email protected]>
netdev-genl: avoid empty messages in napi getVladimir Oltean <[email protected]>
selftests: net:local_termination: require mausezahnTristram Ha <[email protected]>
net: dsa: microchip: Fix LAN937Xset_ageing_timefunctionTristram Ha <[email protected]>
net: dsa: microchip: Fix KSZ9477set_ageing_timefunctionStefan Ekenberg <[email protected]>
drm/bridge:adv7511_audio: Update Audio InfoFrame properlyWei Fang <[email protected]>
net: phy: micrel: Dynamically control external clock of KSZ PHYSelvin Xavier <[email protected]>
RDMA/bnxt_re: Fix the locking while accessing the QP tableDamodharam Ammepalli <[email protected]>
RDMA/bnxt_re: Fix MSN table size for variable wqe modeDamodharam Ammepalli <[email protected]>
RDMA/bnxt_re: Add send queue size check for variable wqeKalesh AP <[email protected]>
RDMA/bnxt_re: Disable use of reserved wqesSelvin Xavier <[email protected]>
RDMA/bnxt_re: Fixmax_qp_wrsreportedBernard Metzler <[email protected]>
RDMA/siw: Remove direct link tonet_deviceChiara Meiohas <[email protected]>
RDMA/nldev: Set error code inrdma_nl_notify_eventKalesh AP <[email protected]>
RDMA/bnxt_re: Fix reportinghw_verinquery_deviceSaravanan Vajravel <[email protected]>
RDMA/bnxt_re: Add check for path mtu inmodify_qpKalesh AP <[email protected]>
RDMA/bnxt_re: Fix the check for 9060 conditionEmmanuel Grumbach <[email protected]>
wifi: iwlwifi: fix CRF name for BzRobert Beckett <[email protected]>
nvme-pci: 512 byte aligned dma pool segment quirkAnumula Murali Mohan Reddy <[email protected]>
RDMA/core: Fix ENODEV error for iWARP test over vlanKashyap Desai <[email protected]>
RDMA/bnxt_re: Avoid sending the modify QP workaround for latest adaptersSelvin Xavier <[email protected]>
RDMA/bnxt_re: Avoid initializing the software queue for user queuesKashyap Desai <[email protected]>
RDMA/bnxt_re: Fix max SGEs for the Work RequestPatrisious Haddad <[email protected]>
RDMA/mlx5: Enforce same type port association for multiport RoCEguanjing <[email protected]>
sched_ext: fix application of sizeof to pointerLeon Romanovsky <[email protected]>
RDMA/bnxt_re: Remove always true dattr validity checkChristoph Hellwig <[email protected]>
btrfs: usebio_is_zone_append()in the completion handlerChristoph Hellwig <[email protected]>
block: liftbio_is_zone_appendtobio.hSteven Rostedt <[email protected]>
tracing: Haveprocess_string()also allow arraysLucas Stach <[email protected]>
pmdomain: core: add dummy release function to genpd deviceJoe Hattori <[email protected]>
pmdomain: imx: gpcv2: fix an OF node reference leak inimx_gpcv2_probe()Eric Biggers <[email protected]>
mmc: sdhci-msm: fix crypto key evictionThiébaud Weksteen <[email protected]>
selinux: ignore unknown extended permissionsMingcong Bai <[email protected]>
platform/x86: hp-wmi: mark 8A15 board for timed OMEN thermal profileVishnu Sankar <[email protected]>
platform/x86: thinkpad-acpi: Add support for hotkey 0x1401Alex Deucher <[email protected]>
drm/amdgpu: fix backport of commit73dae652dcacJoe Hattori <[email protected]>
platform/x86: mlx-platform: callpci_dev_put()to balance the refcount-------------
Diffstat:
.../admin-guide/laptops/thinkpad-acpi.rst | 10 +- .../bindings/display/bridge/adi,adv7533.yaml | 2 +- Makefile | 4 +- arch/arc/Kconfig | 4 +- arch/arc/Makefile | 2 +- arch/arc/include/asm/cmpxchg.h | 2 +- arch/arc/net/bpf_jit_arcv2.c | 2 +- arch/x86/events/intel/core.c | 1 + block/blk.h | 9 - drivers/clk/imx/clk-imx8mp-audiomix.c | 3 +- drivers/clk/thead/clk-th1520-ap.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 10 +- drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 4 +- drivers/gpu/drm/bridge/adv7511/adv7511_audio.c | 14 +- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 10 +- drivers/gpu/drm/bridge/adv7511/adv7533.c | 4 +- drivers/gpu/drm/i915/display/intel_cx0_phy.c | 12 +- drivers/gpu/drm/i915/gt/intel_rc6.c | 2 +- drivers/gpu/drm/xe/xe_bo.c | 12 +- drivers/gpu/drm/xe/xe_devcoredump.c | 15 +- drivers/gpu/drm/xe/xe_exec_queue.c | 9 + drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 2 +- drivers/infiniband/core/cma.c | 16 ++ drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 16 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 34 +-- drivers/infiniband/hw/bnxt_re/main.c | 8 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 65 +++-- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 3 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 5 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 18 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 43 +++- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 11 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 5 - drivers/infiniband/hw/mlx5/main.c | 8 +- drivers/infiniband/sw/rxe/rxe.c | 23 +- drivers/infiniband/sw/rxe/rxe.h | 3 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 22 +- drivers/infiniband/sw/rxe/rxe_net.c | 24 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 26 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 11 +- drivers/infiniband/sw/siw/siw.h | 7 +- drivers/infiniband/sw/siw/siw_cm.c | 27 +- drivers/infiniband/sw/siw/siw_main.c | 15 +- drivers/infiniband/sw/siw/siw_verbs.c | 35 ++- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +- drivers/irqchip/irq-gic.c | 2 +- drivers/mmc/host/sdhci-msm.c | 16 +- drivers/net/dsa/microchip/ksz9477.c | 47 +++- drivers/net/dsa/microchip/ksz9477_reg.h | 4 +- drivers/net/dsa/microchip/lan937x_main.c | 62 ++++- drivers/net/dsa/microchip/lan937x_reg.h | 9 +- drivers/net/ethernet/broadcom/bcmsysport.c | 21 +- drivers/net/ethernet/google/gve/gve.h | 1 + drivers/net/ethernet/google/gve/gve_main.c | 63 +++-- drivers/net/ethernet/google/gve/gve_tx.c | 46 ++-- drivers/net/ethernet/marvell/mv643xx_eth.c | 14 +- drivers/net/ethernet/marvell/sky2.c | 1 + .../ethernet/mellanox/mlx5/core/en_accel/macsec.c | 4 + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 19 +- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 15 ++ .../net/ethernet/mellanox/mlx5/core/esw/ipsec_fs.c | 6 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 3 + .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 5 +- .../ethernet/mellanox/mlx5/core/steering/dr_send.c | 4 +- .../net/ethernet/mellanox/mlxsw/spectrum_span.c | 3 +- drivers/net/ethernet/sfc/tc_conntrack.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 43 ++-- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- drivers/net/ethernet/ti/icssg/icss_iep.c | 8 + drivers/net/ethernet/ti/icssg/icssg_common.c | 25 -- drivers/net/ethernet/ti/icssg/icssg_config.c | 41 ++- drivers/net/ethernet/ti/icssg/icssg_config.h | 1 + drivers/net/ethernet/ti/icssg/icssg_prueth.c | 281 ++++++++++++++------- drivers/net/ethernet/ti/icssg/icssg_prueth.h | 5 +- drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c | 24 +- drivers/net/phy/micrel.c | 114 ++++++++- drivers/net/pse-pd/tps23881.c | 16 +- drivers/net/usb/qmi_wwan.c | 3 + drivers/net/wireless/intel/iwlwifi/cfg/bz.c | 1 + drivers/net/wireless/intel/iwlwifi/iwl-config.h | 1 + drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 14 +- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 41 ++- drivers/net/wwan/iosm/iosm_ipc_mmio.c | 2 +- drivers/net/wwan/t7xx/t7xx_state_monitor.c | 26 +- drivers/net/wwan/t7xx/t7xx_state_monitor.h | 5 +- drivers/nvme/host/nvme.h | 5 + drivers/nvme/host/pci.c | 9 +- drivers/nvme/target/configfs.c | 11 +- drivers/pinctrl/pinctrl-mcp23s08.c | 6 + drivers/platform/x86/hp/hp-wmi.c | 4 +- drivers/platform/x86/mlx-platform.c | 2 + drivers/platform/x86/thinkpad_acpi.c | 4 +- drivers/pmdomain/core.c | 6 + drivers/pmdomain/imx/gpcv2.c | 4 +- drivers/spi/spi-cadence-quadspi.c | 10 +- fs/btrfs/bio.c | 23 +- fs/btrfs/disk-io.c | 9 + fs/btrfs/inode.c | 5 + fs/ocfs2/quota_global.c | 2 +- fs/ocfs2/quota_local.c | 1 + fs/proc/task_mmu.c | 2 +- fs/smb/client/cifsfs.c | 1 + fs/smb/server/smb2pdu.c | 22 +- fs/smb/server/vfs.h | 1 + include/linux/bio.h | 17 ++ include/linux/filter.h | 2 +- include/linux/if_vlan.h | 16 +- include/linux/memfd.h | 14 + include/linux/mlx5/driver.h | 7 + include/linux/mlx5/mlx5_ifc.h | 4 +- include/linux/mm.h | 57 +++-- include/linux/mm_types.h | 30 +++ include/net/bluetooth/hci_core.h | 108 +++++--- include/net/netfilter/nf_tables.h | 7 +- include/sound/cs35l56.h | 6 - io_uring/kbuf.c | 4 +- io_uring/net.c | 1 + io_uring/rw.c | 2 + kernel/bpf/core.c | 8 +- kernel/bpf/verifier.c | 2 +- kernel/kcov.c | 2 +- kernel/sched/ext.c | 4 +- kernel/trace/fgraph.c | 2 +- kernel/trace/ftrace.c | 8 +- kernel/trace/trace_events.c | 12 + kernel/workqueue.c | 23 +- lib/maple_tree.c | 1 + mm/damon/core.c | 10 +- mm/hugetlb.c | 16 +- mm/kmemleak.c | 2 +- mm/memfd.c | 2 +- mm/mmap.c | 4 + mm/readahead.c | 6 +- mm/shmem.c | 7 +- mm/vmscan.c | 9 +- net/bluetooth/hci_core.c | 10 +- net/bluetooth/iso.c | 6 + net/bluetooth/l2cap_core.c | 12 +- net/bluetooth/rfcomm/core.c | 6 + net/bluetooth/sco.c | 12 +- net/core/dev.c | 4 +- net/core/filter.c | 63 +++-- net/core/netdev-genl.c | 6 +- net/core/sock.c | 5 +- net/ipv4/ip_tunnel.c | 6 +- net/ipv4/tcp_input.c | 1 + net/ipv6/ila/ila_xlat.c | 16 +- net/llc/llc_input.c | 2 +- net/mac80211/cfg.c | 8 +- net/mac80211/mesh.c | 6 +- net/mac80211/util.c | 3 + net/mptcp/options.c | 7 + net/mptcp/protocol.c | 22 +- net/netrom/nr_route.c | 6 + net/packet/af_packet.c | 28 +- net/sctp/associola.c | 3 +- net/wireless/util.c | 3 +- scripts/mksysmap | 4 +- scripts/mod/file2alias.c | 2 +- scripts/package/PKGBUILD | 2 +- scripts/sorttable.h | 5 +- security/selinux/ss/services.c | 8 +- sound/core/seq/oss/seq_oss_synth.c | 2 + sound/core/seq/seq_clientmgr.c | 14 +- sound/core/ump.c | 2 +- sound/pci/hda/cs35l56_hda.c | 8 - sound/pci/hda/patch_ca0132.c | 37 +-- sound/pci/hda/patch_realtek.c | 24 ++ sound/soc/generic/audio-graph-card2.c | 2 +- sound/usb/format.c | 7 +- sound/usb/mixer_us16x08.c | 2 +- sound/usb/quirks.c | 2 + tools/sched_ext/scx_central.c | 2 +- tools/testing/selftests/bpf/progs/tc_bpf2bpf.c | 2 + .../selftests/net/forwarding/local_termination.sh | 1 - 177 files changed, 1698 insertions(+), 764 deletions(-)
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
Tested on a ThinkPad E14 Gen 3 with a AMD Ryzen 5 5500U CPU and with my Sony WH1000XM3 Headphones.
Hi Greg
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
6.12.9-rc1 tested.
Build successfully completed.
Boot successfully completed.
No dmesg regressions.
Video output normal.
Sound output normal.
Lenovo ThinkPad X1 Carbon Gen10(Intel i7-1260P(x86_64) arch linux)
[ 0.000000] Linux version 6.12.9-rc1rv
(takeshi@ThinkPadX1Gen10J0764) (gcc (GCC) 14.2.1 20240910, GNU ld (GNU Binutils) 2.43.0) #1 SMP PREEMPT_DYNAMIC Tue Jan 7 19:51:46 JST 2025
Thanks
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
116 tests: 116 pass, 0 failLinux version: 6.12.9-rc1-gcab9a964396d
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Jon
Quoted 4 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 4 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
No problems noted for ext4 with 6.12.9-rc1. I don't speak officially for xfs, but I didn't notice any new problems there either.
Cheers,
- Ted
Hi Greg,
Quoted 4 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
No problems seen on x86_64 and aarch64 with our testing.
Thanks,
Harshit
The kernel builds fine for v6.12.9-rc1 on x86 and arm64 Azure VM.
Thanks,
Hardik
Quoted 14 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.9 release. There are 156 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 08 Jan 2025 15:11:04 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.9-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.
Quoted 5 lines
thanks,
greg k-h
-------------
OVERVIEW
Builds: 41 passed, 0 failed
Boot tests: 592 passed, 0 failed
CI systems: broonie, maestro
REVISION
Commit
name: v6.12.8-157-gcab9a964396d
hash: cab9a964396de70339b5d65f9666da355b6c164e
Checked out from
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.12.yBUILDS
No build failures found
BOOT TESTS
No failure found
See complete and up-to-date report at:
https://kcidb.kernelci.org/d/revision/revision?orgId=1&var-git_commit_hash=cab9a964396de70339b5d65f9666da355b6c164e&var-patchset_hash=
Thanks,
KernelCI team