Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Alexandre Ghiti <alexghiti@rivosinc.com>,
	Anup Patel <anup@brainfault.org>,
	Palmer Dabbelt <palmer@rivosinc.com>,
	WangYuli <wangyuli@uniontech.com>
Subject: [PATCH 6.6 199/269] riscv: Use accessors to page table entries instead of direct dereference
Date: Tue, 10 Sep 2024 11:33:06 +0200	[thread overview]
Message-ID: <20240910092615.189079103@linuxfoundation.org> (raw)
In-Reply-To: <20240910092608.225137854@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Alexandre Ghiti <alexghiti@rivosinc.com>

commit edf955647269422e387732870d04fc15933a25ea upstream.

As very well explained in commit 20a004e7b017 ("arm64: mm: Use
READ_ONCE/WRITE_ONCE when accessing page tables"), an architecture whose
page table walker can modify the PTE in parallel must use
READ_ONCE()/WRITE_ONCE() macro to avoid any compiler transformation.

So apply that to riscv which is such architecture.

Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Acked-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20231213203001.179237-5-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: WangYuli <wangyuli@uniontech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/riscv/include/asm/kfence.h     |    4 +-
 arch/riscv/include/asm/pgtable-64.h |   16 +----------
 arch/riscv/include/asm/pgtable.h    |   29 ++++----------------
 arch/riscv/kernel/efi.c             |    2 -
 arch/riscv/kvm/mmu.c                |   22 +++++++--------
 arch/riscv/mm/fault.c               |   16 +++++------
 arch/riscv/mm/hugetlbpage.c         |   12 ++++----
 arch/riscv/mm/kasan_init.c          |   45 ++++++++++++++++---------------
 arch/riscv/mm/pageattr.c            |   44 +++++++++++++++----------------
 arch/riscv/mm/pgtable.c             |   51 ++++++++++++++++++++++++++++++++----
 10 files changed, 128 insertions(+), 113 deletions(-)

--- a/arch/riscv/include/asm/kfence.h
+++ b/arch/riscv/include/asm/kfence.h
@@ -18,9 +18,9 @@ static inline bool kfence_protect_page(u
 	pte_t *pte = virt_to_kpte(addr);
 
 	if (protect)
-		set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
+		set_pte(pte, __pte(pte_val(ptep_get(pte)) & ~_PAGE_PRESENT));
 	else
-		set_pte(pte, __pte(pte_val(*pte) | _PAGE_PRESENT));
+		set_pte(pte, __pte(pte_val(ptep_get(pte)) | _PAGE_PRESENT));
 
 	flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
 
--- a/arch/riscv/include/asm/pgtable-64.h
+++ b/arch/riscv/include/asm/pgtable-64.h
@@ -336,13 +336,7 @@ static inline struct page *p4d_page(p4d_
 #define pud_index(addr) (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))
 
 #define pud_offset pud_offset
-static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
-{
-	if (pgtable_l4_enabled)
-		return p4d_pgtable(*p4d) + pud_index(address);
-
-	return (pud_t *)p4d;
-}
+pud_t *pud_offset(p4d_t *p4d, unsigned long address);
 
 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd)
 {
@@ -400,12 +394,6 @@ static inline struct page *pgd_page(pgd_
 #define p4d_index(addr) (((addr) >> P4D_SHIFT) & (PTRS_PER_P4D - 1))
 
 #define p4d_offset p4d_offset
-static inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
-{
-	if (pgtable_l5_enabled)
-		return pgd_pgtable(*pgd) + p4d_index(address);
-
-	return (p4d_t *)pgd;
-}
+p4d_t *p4d_offset(pgd_t *pgd, unsigned long address);
 
 #endif /* _ASM_RISCV_PGTABLE_64_H */
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -549,19 +549,12 @@ static inline void pte_clear(struct mm_s
 	__set_pte_at(ptep, __pte(0));
 }
 
-#define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
-static inline int ptep_set_access_flags(struct vm_area_struct *vma,
-					unsigned long address, pte_t *ptep,
-					pte_t entry, int dirty)
-{
-	if (!pte_same(*ptep, entry))
-		__set_pte_at(ptep, entry);
-	/*
-	 * update_mmu_cache will unconditionally execute, handling both
-	 * the case that the PTE changed and the spurious fault case.
-	 */
-	return true;
-}
+#define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS	/* defined in mm/pgtable.c */
+extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address,
+				 pte_t *ptep, pte_t entry, int dirty);
+#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG	/* defined in mm/pgtable.c */
+extern int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long address,
+				     pte_t *ptep);
 
 #define __HAVE_ARCH_PTEP_GET_AND_CLEAR
 static inline pte_t ptep_get_and_clear(struct mm_struct *mm,
@@ -574,16 +567,6 @@ static inline pte_t ptep_get_and_clear(s
 	return pte;
 }
 
-#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
-static inline int ptep_test_and_clear_young(struct vm_area_struct *vma,
-					    unsigned long address,
-					    pte_t *ptep)
-{
-	if (!pte_young(*ptep))
-		return 0;
-	return test_and_clear_bit(_PAGE_ACCESSED_OFFSET, &pte_val(*ptep));
-}
-
 #define __HAVE_ARCH_PTEP_SET_WRPROTECT
 static inline void ptep_set_wrprotect(struct mm_struct *mm,
 				      unsigned long address, pte_t *ptep)
--- a/arch/riscv/kernel/efi.c
+++ b/arch/riscv/kernel/efi.c
@@ -60,7 +60,7 @@ int __init efi_create_mapping(struct mm_
 static int __init set_permissions(pte_t *ptep, unsigned long addr, void *data)
 {
 	efi_memory_desc_t *md = data;
-	pte_t pte = READ_ONCE(*ptep);
+	pte_t pte = ptep_get(ptep);
 	unsigned long val;
 
 	if (md->attribute & EFI_MEMORY_RO) {
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -103,7 +103,7 @@ static bool gstage_get_leaf_entry(struct
 	*ptep_level = current_level;
 	ptep = (pte_t *)kvm->arch.pgd;
 	ptep = &ptep[gstage_pte_index(addr, current_level)];
-	while (ptep && pte_val(*ptep)) {
+	while (ptep && pte_val(ptep_get(ptep))) {
 		if (gstage_pte_leaf(ptep)) {
 			*ptep_level = current_level;
 			*ptepp = ptep;
@@ -113,7 +113,7 @@ static bool gstage_get_leaf_entry(struct
 		if (current_level) {
 			current_level--;
 			*ptep_level = current_level;
-			ptep = (pte_t *)gstage_pte_page_vaddr(*ptep);
+			ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
 			ptep = &ptep[gstage_pte_index(addr, current_level)];
 		} else {
 			ptep = NULL;
@@ -149,25 +149,25 @@ static int gstage_set_pte(struct kvm *kv
 		if (gstage_pte_leaf(ptep))
 			return -EEXIST;
 
-		if (!pte_val(*ptep)) {
+		if (!pte_val(ptep_get(ptep))) {
 			if (!pcache)
 				return -ENOMEM;
 			next_ptep = kvm_mmu_memory_cache_alloc(pcache);
 			if (!next_ptep)
 				return -ENOMEM;
-			*ptep = pfn_pte(PFN_DOWN(__pa(next_ptep)),
-					__pgprot(_PAGE_TABLE));
+			set_pte(ptep, pfn_pte(PFN_DOWN(__pa(next_ptep)),
+					      __pgprot(_PAGE_TABLE)));
 		} else {
 			if (gstage_pte_leaf(ptep))
 				return -EEXIST;
-			next_ptep = (pte_t *)gstage_pte_page_vaddr(*ptep);
+			next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
 		}
 
 		current_level--;
 		ptep = &next_ptep[gstage_pte_index(addr, current_level)];
 	}
 
-	*ptep = *new_pte;
+	set_pte(ptep, *new_pte);
 	if (gstage_pte_leaf(ptep))
 		gstage_remote_tlb_flush(kvm, current_level, addr);
 
@@ -239,11 +239,11 @@ static void gstage_op_pte(struct kvm *kv
 
 	BUG_ON(addr & (page_size - 1));
 
-	if (!pte_val(*ptep))
+	if (!pte_val(ptep_get(ptep)))
 		return;
 
 	if (ptep_level && !gstage_pte_leaf(ptep)) {
-		next_ptep = (pte_t *)gstage_pte_page_vaddr(*ptep);
+		next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
 		next_ptep_level = ptep_level - 1;
 		ret = gstage_level_to_page_size(next_ptep_level,
 						&next_page_size);
@@ -261,7 +261,7 @@ static void gstage_op_pte(struct kvm *kv
 		if (op == GSTAGE_OP_CLEAR)
 			set_pte(ptep, __pte(0));
 		else if (op == GSTAGE_OP_WP)
-			set_pte(ptep, __pte(pte_val(*ptep) & ~_PAGE_WRITE));
+			set_pte(ptep, __pte(pte_val(ptep_get(ptep)) & ~_PAGE_WRITE));
 		gstage_remote_tlb_flush(kvm, ptep_level, addr);
 	}
 }
@@ -603,7 +603,7 @@ bool kvm_test_age_gfn(struct kvm *kvm, s
 				   &ptep, &ptep_level))
 		return false;
 
-	return pte_young(*ptep);
+	return pte_young(ptep_get(ptep));
 }
 
 int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
--- a/arch/riscv/mm/fault.c
+++ b/arch/riscv/mm/fault.c
@@ -137,24 +137,24 @@ static inline void vmalloc_fault(struct
 	pgd = (pgd_t *)pfn_to_virt(pfn) + index;
 	pgd_k = init_mm.pgd + index;
 
-	if (!pgd_present(*pgd_k)) {
+	if (!pgd_present(pgdp_get(pgd_k))) {
 		no_context(regs, addr);
 		return;
 	}
-	set_pgd(pgd, *pgd_k);
+	set_pgd(pgd, pgdp_get(pgd_k));
 
 	p4d_k = p4d_offset(pgd_k, addr);
-	if (!p4d_present(*p4d_k)) {
+	if (!p4d_present(p4dp_get(p4d_k))) {
 		no_context(regs, addr);
 		return;
 	}
 
 	pud_k = pud_offset(p4d_k, addr);
-	if (!pud_present(*pud_k)) {
+	if (!pud_present(pudp_get(pud_k))) {
 		no_context(regs, addr);
 		return;
 	}
-	if (pud_leaf(*pud_k))
+	if (pud_leaf(pudp_get(pud_k)))
 		goto flush_tlb;
 
 	/*
@@ -162,11 +162,11 @@ static inline void vmalloc_fault(struct
 	 * to copy individual PTEs
 	 */
 	pmd_k = pmd_offset(pud_k, addr);
-	if (!pmd_present(*pmd_k)) {
+	if (!pmd_present(pmdp_get(pmd_k))) {
 		no_context(regs, addr);
 		return;
 	}
-	if (pmd_leaf(*pmd_k))
+	if (pmd_leaf(pmdp_get(pmd_k)))
 		goto flush_tlb;
 
 	/*
@@ -176,7 +176,7 @@ static inline void vmalloc_fault(struct
 	 * silently loop forever.
 	 */
 	pte_k = pte_offset_kernel(pmd_k, addr);
-	if (!pte_present(*pte_k)) {
+	if (!pte_present(ptep_get(pte_k))) {
 		no_context(regs, addr);
 		return;
 	}
--- a/arch/riscv/mm/hugetlbpage.c
+++ b/arch/riscv/mm/hugetlbpage.c
@@ -54,7 +54,7 @@ pte_t *huge_pte_alloc(struct mm_struct *
 	}
 
 	if (sz == PMD_SIZE) {
-		if (want_pmd_share(vma, addr) && pud_none(*pud))
+		if (want_pmd_share(vma, addr) && pud_none(pudp_get(pud)))
 			pte = huge_pmd_share(mm, vma, addr, pud);
 		else
 			pte = (pte_t *)pmd_alloc(mm, pud, addr);
@@ -93,11 +93,11 @@ pte_t *huge_pte_offset(struct mm_struct
 	pmd_t *pmd;
 
 	pgd = pgd_offset(mm, addr);
-	if (!pgd_present(*pgd))
+	if (!pgd_present(pgdp_get(pgd)))
 		return NULL;
 
 	p4d = p4d_offset(pgd, addr);
-	if (!p4d_present(*p4d))
+	if (!p4d_present(p4dp_get(p4d)))
 		return NULL;
 
 	pud = pud_offset(p4d, addr);
@@ -105,7 +105,7 @@ pte_t *huge_pte_offset(struct mm_struct
 		/* must be pud huge, non-present or none */
 		return (pte_t *)pud;
 
-	if (!pud_present(*pud))
+	if (!pud_present(pudp_get(pud)))
 		return NULL;
 
 	pmd = pmd_offset(pud, addr);
@@ -113,7 +113,7 @@ pte_t *huge_pte_offset(struct mm_struct
 		/* must be pmd huge, non-present or none */
 		return (pte_t *)pmd;
 
-	if (!pmd_present(*pmd))
+	if (!pmd_present(pmdp_get(pmd)))
 		return NULL;
 
 	for_each_napot_order(order) {
@@ -351,7 +351,7 @@ void huge_pte_clear(struct mm_struct *mm
 		    pte_t *ptep,
 		    unsigned long sz)
 {
-	pte_t pte = READ_ONCE(*ptep);
+	pte_t pte = ptep_get(ptep);
 	int i, pte_num;
 
 	if (!pte_napot(pte)) {
--- a/arch/riscv/mm/kasan_init.c
+++ b/arch/riscv/mm/kasan_init.c
@@ -31,7 +31,7 @@ static void __init kasan_populate_pte(pm
 	phys_addr_t phys_addr;
 	pte_t *ptep, *p;
 
-	if (pmd_none(*pmd)) {
+	if (pmd_none(pmdp_get(pmd))) {
 		p = memblock_alloc(PTRS_PER_PTE * sizeof(pte_t), PAGE_SIZE);
 		set_pmd(pmd, pfn_pmd(PFN_DOWN(__pa(p)), PAGE_TABLE));
 	}
@@ -39,7 +39,7 @@ static void __init kasan_populate_pte(pm
 	ptep = pte_offset_kernel(pmd, vaddr);
 
 	do {
-		if (pte_none(*ptep)) {
+		if (pte_none(ptep_get(ptep))) {
 			phys_addr = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
 			set_pte(ptep, pfn_pte(PFN_DOWN(phys_addr), PAGE_KERNEL));
 			memset(__va(phys_addr), KASAN_SHADOW_INIT, PAGE_SIZE);
@@ -53,7 +53,7 @@ static void __init kasan_populate_pmd(pu
 	pmd_t *pmdp, *p;
 	unsigned long next;
 
-	if (pud_none(*pud)) {
+	if (pud_none(pudp_get(pud))) {
 		p = memblock_alloc(PTRS_PER_PMD * sizeof(pmd_t), PAGE_SIZE);
 		set_pud(pud, pfn_pud(PFN_DOWN(__pa(p)), PAGE_TABLE));
 	}
@@ -63,7 +63,8 @@ static void __init kasan_populate_pmd(pu
 	do {
 		next = pmd_addr_end(vaddr, end);
 
-		if (pmd_none(*pmdp) && IS_ALIGNED(vaddr, PMD_SIZE) && (next - vaddr) >= PMD_SIZE) {
+		if (pmd_none(pmdp_get(pmdp)) && IS_ALIGNED(vaddr, PMD_SIZE) &&
+		    (next - vaddr) >= PMD_SIZE) {
 			phys_addr = memblock_phys_alloc(PMD_SIZE, PMD_SIZE);
 			if (phys_addr) {
 				set_pmd(pmdp, pfn_pmd(PFN_DOWN(phys_addr), PAGE_KERNEL));
@@ -83,7 +84,7 @@ static void __init kasan_populate_pud(p4
 	pud_t *pudp, *p;
 	unsigned long next;
 
-	if (p4d_none(*p4d)) {
+	if (p4d_none(p4dp_get(p4d))) {
 		p = memblock_alloc(PTRS_PER_PUD * sizeof(pud_t), PAGE_SIZE);
 		set_p4d(p4d, pfn_p4d(PFN_DOWN(__pa(p)), PAGE_TABLE));
 	}
@@ -93,7 +94,8 @@ static void __init kasan_populate_pud(p4
 	do {
 		next = pud_addr_end(vaddr, end);
 
-		if (pud_none(*pudp) && IS_ALIGNED(vaddr, PUD_SIZE) && (next - vaddr) >= PUD_SIZE) {
+		if (pud_none(pudp_get(pudp)) && IS_ALIGNED(vaddr, PUD_SIZE) &&
+		    (next - vaddr) >= PUD_SIZE) {
 			phys_addr = memblock_phys_alloc(PUD_SIZE, PUD_SIZE);
 			if (phys_addr) {
 				set_pud(pudp, pfn_pud(PFN_DOWN(phys_addr), PAGE_KERNEL));
@@ -113,7 +115,7 @@ static void __init kasan_populate_p4d(pg
 	p4d_t *p4dp, *p;
 	unsigned long next;
 
-	if (pgd_none(*pgd)) {
+	if (pgd_none(pgdp_get(pgd))) {
 		p = memblock_alloc(PTRS_PER_P4D * sizeof(p4d_t), PAGE_SIZE);
 		set_pgd(pgd, pfn_pgd(PFN_DOWN(__pa(p)), PAGE_TABLE));
 	}
@@ -123,7 +125,8 @@ static void __init kasan_populate_p4d(pg
 	do {
 		next = p4d_addr_end(vaddr, end);
 
-		if (p4d_none(*p4dp) && IS_ALIGNED(vaddr, P4D_SIZE) && (next - vaddr) >= P4D_SIZE) {
+		if (p4d_none(p4dp_get(p4dp)) && IS_ALIGNED(vaddr, P4D_SIZE) &&
+		    (next - vaddr) >= P4D_SIZE) {
 			phys_addr = memblock_phys_alloc(P4D_SIZE, P4D_SIZE);
 			if (phys_addr) {
 				set_p4d(p4dp, pfn_p4d(PFN_DOWN(phys_addr), PAGE_KERNEL));
@@ -145,7 +148,7 @@ static void __init kasan_populate_pgd(pg
 	do {
 		next = pgd_addr_end(vaddr, end);
 
-		if (pgd_none(*pgdp) && IS_ALIGNED(vaddr, PGDIR_SIZE) &&
+		if (pgd_none(pgdp_get(pgdp)) && IS_ALIGNED(vaddr, PGDIR_SIZE) &&
 		    (next - vaddr) >= PGDIR_SIZE) {
 			phys_addr = memblock_phys_alloc(PGDIR_SIZE, PGDIR_SIZE);
 			if (phys_addr) {
@@ -168,7 +171,7 @@ static void __init kasan_early_clear_pud
 	if (!pgtable_l4_enabled) {
 		pudp = (pud_t *)p4dp;
 	} else {
-		base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(*p4dp)));
+		base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
 		pudp = base_pud + pud_index(vaddr);
 	}
 
@@ -193,7 +196,7 @@ static void __init kasan_early_clear_p4d
 	if (!pgtable_l5_enabled) {
 		p4dp = (p4d_t *)pgdp;
 	} else {
-		base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(*pgdp)));
+		base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
 		p4dp = base_p4d + p4d_index(vaddr);
 	}
 
@@ -239,14 +242,14 @@ static void __init kasan_early_populate_
 	if (!pgtable_l4_enabled) {
 		pudp = (pud_t *)p4dp;
 	} else {
-		base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(*p4dp)));
+		base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
 		pudp = base_pud + pud_index(vaddr);
 	}
 
 	do {
 		next = pud_addr_end(vaddr, end);
 
-		if (pud_none(*pudp) && IS_ALIGNED(vaddr, PUD_SIZE) &&
+		if (pud_none(pudp_get(pudp)) && IS_ALIGNED(vaddr, PUD_SIZE) &&
 		    (next - vaddr) >= PUD_SIZE) {
 			phys_addr = __pa((uintptr_t)kasan_early_shadow_pmd);
 			set_pud(pudp, pfn_pud(PFN_DOWN(phys_addr), PAGE_TABLE));
@@ -277,14 +280,14 @@ static void __init kasan_early_populate_
 	if (!pgtable_l5_enabled) {
 		p4dp = (p4d_t *)pgdp;
 	} else {
-		base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(*pgdp)));
+		base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
 		p4dp = base_p4d + p4d_index(vaddr);
 	}
 
 	do {
 		next = p4d_addr_end(vaddr, end);
 
-		if (p4d_none(*p4dp) && IS_ALIGNED(vaddr, P4D_SIZE) &&
+		if (p4d_none(p4dp_get(p4dp)) && IS_ALIGNED(vaddr, P4D_SIZE) &&
 		    (next - vaddr) >= P4D_SIZE) {
 			phys_addr = __pa((uintptr_t)kasan_early_shadow_pud);
 			set_p4d(p4dp, pfn_p4d(PFN_DOWN(phys_addr), PAGE_TABLE));
@@ -305,7 +308,7 @@ static void __init kasan_early_populate_
 	do {
 		next = pgd_addr_end(vaddr, end);
 
-		if (pgd_none(*pgdp) && IS_ALIGNED(vaddr, PGDIR_SIZE) &&
+		if (pgd_none(pgdp_get(pgdp)) && IS_ALIGNED(vaddr, PGDIR_SIZE) &&
 		    (next - vaddr) >= PGDIR_SIZE) {
 			phys_addr = __pa((uintptr_t)kasan_early_shadow_p4d);
 			set_pgd(pgdp, pfn_pgd(PFN_DOWN(phys_addr), PAGE_TABLE));
@@ -381,7 +384,7 @@ static void __init kasan_shallow_populat
 	do {
 		next = pud_addr_end(vaddr, end);
 
-		if (pud_none(*pud_k)) {
+		if (pud_none(pudp_get(pud_k))) {
 			p = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
 			set_pud(pud_k, pfn_pud(PFN_DOWN(__pa(p)), PAGE_TABLE));
 			continue;
@@ -401,7 +404,7 @@ static void __init kasan_shallow_populat
 	do {
 		next = p4d_addr_end(vaddr, end);
 
-		if (p4d_none(*p4d_k)) {
+		if (p4d_none(p4dp_get(p4d_k))) {
 			p = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
 			set_p4d(p4d_k, pfn_p4d(PFN_DOWN(__pa(p)), PAGE_TABLE));
 			continue;
@@ -420,7 +423,7 @@ static void __init kasan_shallow_populat
 	do {
 		next = pgd_addr_end(vaddr, end);
 
-		if (pgd_none(*pgd_k)) {
+		if (pgd_none(pgdp_get(pgd_k))) {
 			p = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
 			set_pgd(pgd_k, pfn_pgd(PFN_DOWN(__pa(p)), PAGE_TABLE));
 			continue;
@@ -451,7 +454,7 @@ static void __init create_tmp_mapping(vo
 
 	/* Copy the last p4d since it is shared with the kernel mapping. */
 	if (pgtable_l5_enabled) {
-		ptr = (p4d_t *)pgd_page_vaddr(*pgd_offset_k(KASAN_SHADOW_END));
+		ptr = (p4d_t *)pgd_page_vaddr(pgdp_get(pgd_offset_k(KASAN_SHADOW_END)));
 		memcpy(tmp_p4d, ptr, sizeof(p4d_t) * PTRS_PER_P4D);
 		set_pgd(&tmp_pg_dir[pgd_index(KASAN_SHADOW_END)],
 			pfn_pgd(PFN_DOWN(__pa(tmp_p4d)), PAGE_TABLE));
@@ -462,7 +465,7 @@ static void __init create_tmp_mapping(vo
 
 	/* Copy the last pud since it is shared with the kernel mapping. */
 	if (pgtable_l4_enabled) {
-		ptr = (pud_t *)p4d_page_vaddr(*(base_p4d + p4d_index(KASAN_SHADOW_END)));
+		ptr = (pud_t *)p4d_page_vaddr(p4dp_get(base_p4d + p4d_index(KASAN_SHADOW_END)));
 		memcpy(tmp_pud, ptr, sizeof(pud_t) * PTRS_PER_PUD);
 		set_p4d(&base_p4d[p4d_index(KASAN_SHADOW_END)],
 			pfn_p4d(PFN_DOWN(__pa(tmp_pud)), PAGE_TABLE));
--- a/arch/riscv/mm/pageattr.c
+++ b/arch/riscv/mm/pageattr.c
@@ -29,7 +29,7 @@ static unsigned long set_pageattr_masks(
 static int pageattr_p4d_entry(p4d_t *p4d, unsigned long addr,
 			      unsigned long next, struct mm_walk *walk)
 {
-	p4d_t val = READ_ONCE(*p4d);
+	p4d_t val = p4dp_get(p4d);
 
 	if (p4d_leaf(val)) {
 		val = __p4d(set_pageattr_masks(p4d_val(val), walk));
@@ -42,7 +42,7 @@ static int pageattr_p4d_entry(p4d_t *p4d
 static int pageattr_pud_entry(pud_t *pud, unsigned long addr,
 			      unsigned long next, struct mm_walk *walk)
 {
-	pud_t val = READ_ONCE(*pud);
+	pud_t val = pudp_get(pud);
 
 	if (pud_leaf(val)) {
 		val = __pud(set_pageattr_masks(pud_val(val), walk));
@@ -55,7 +55,7 @@ static int pageattr_pud_entry(pud_t *pud
 static int pageattr_pmd_entry(pmd_t *pmd, unsigned long addr,
 			      unsigned long next, struct mm_walk *walk)
 {
-	pmd_t val = READ_ONCE(*pmd);
+	pmd_t val = pmdp_get(pmd);
 
 	if (pmd_leaf(val)) {
 		val = __pmd(set_pageattr_masks(pmd_val(val), walk));
@@ -68,7 +68,7 @@ static int pageattr_pmd_entry(pmd_t *pmd
 static int pageattr_pte_entry(pte_t *pte, unsigned long addr,
 			      unsigned long next, struct mm_walk *walk)
 {
-	pte_t val = READ_ONCE(*pte);
+	pte_t val = ptep_get(pte);
 
 	val = __pte(set_pageattr_masks(pte_val(val), walk));
 	set_pte(pte, val);
@@ -108,10 +108,10 @@ static int __split_linear_mapping_pmd(pu
 		    vaddr <= (vaddr & PMD_MASK) && end >= next)
 			continue;
 
-		if (pmd_leaf(*pmdp)) {
+		if (pmd_leaf(pmdp_get(pmdp))) {
 			struct page *pte_page;
-			unsigned long pfn = _pmd_pfn(*pmdp);
-			pgprot_t prot = __pgprot(pmd_val(*pmdp) & ~_PAGE_PFN_MASK);
+			unsigned long pfn = _pmd_pfn(pmdp_get(pmdp));
+			pgprot_t prot = __pgprot(pmd_val(pmdp_get(pmdp)) & ~_PAGE_PFN_MASK);
 			pte_t *ptep_new;
 			int i;
 
@@ -148,10 +148,10 @@ static int __split_linear_mapping_pud(p4
 		    vaddr <= (vaddr & PUD_MASK) && end >= next)
 			continue;
 
-		if (pud_leaf(*pudp)) {
+		if (pud_leaf(pudp_get(pudp))) {
 			struct page *pmd_page;
-			unsigned long pfn = _pud_pfn(*pudp);
-			pgprot_t prot = __pgprot(pud_val(*pudp) & ~_PAGE_PFN_MASK);
+			unsigned long pfn = _pud_pfn(pudp_get(pudp));
+			pgprot_t prot = __pgprot(pud_val(pudp_get(pudp)) & ~_PAGE_PFN_MASK);
 			pmd_t *pmdp_new;
 			int i;
 
@@ -197,10 +197,10 @@ static int __split_linear_mapping_p4d(pg
 		    vaddr <= (vaddr & P4D_MASK) && end >= next)
 			continue;
 
-		if (p4d_leaf(*p4dp)) {
+		if (p4d_leaf(p4dp_get(p4dp))) {
 			struct page *pud_page;
-			unsigned long pfn = _p4d_pfn(*p4dp);
-			pgprot_t prot = __pgprot(p4d_val(*p4dp) & ~_PAGE_PFN_MASK);
+			unsigned long pfn = _p4d_pfn(p4dp_get(p4dp));
+			pgprot_t prot = __pgprot(p4d_val(p4dp_get(p4dp)) & ~_PAGE_PFN_MASK);
 			pud_t *pudp_new;
 			int i;
 
@@ -427,29 +427,29 @@ bool kernel_page_present(struct page *pa
 	pte_t *pte;
 
 	pgd = pgd_offset_k(addr);
-	if (!pgd_present(*pgd))
+	if (!pgd_present(pgdp_get(pgd)))
 		return false;
-	if (pgd_leaf(*pgd))
+	if (pgd_leaf(pgdp_get(pgd)))
 		return true;
 
 	p4d = p4d_offset(pgd, addr);
-	if (!p4d_present(*p4d))
+	if (!p4d_present(p4dp_get(p4d)))
 		return false;
-	if (p4d_leaf(*p4d))
+	if (p4d_leaf(p4dp_get(p4d)))
 		return true;
 
 	pud = pud_offset(p4d, addr);
-	if (!pud_present(*pud))
+	if (!pud_present(pudp_get(pud)))
 		return false;
-	if (pud_leaf(*pud))
+	if (pud_leaf(pudp_get(pud)))
 		return true;
 
 	pmd = pmd_offset(pud, addr);
-	if (!pmd_present(*pmd))
+	if (!pmd_present(pmdp_get(pmd)))
 		return false;
-	if (pmd_leaf(*pmd))
+	if (pmd_leaf(pmdp_get(pmd)))
 		return true;
 
 	pte = pte_offset_kernel(pmd, addr);
-	return pte_present(*pte);
+	return pte_present(ptep_get(pte));
 }
--- a/arch/riscv/mm/pgtable.c
+++ b/arch/riscv/mm/pgtable.c
@@ -5,6 +5,47 @@
 #include <linux/kernel.h>
 #include <linux/pgtable.h>
 
+int ptep_set_access_flags(struct vm_area_struct *vma,
+			  unsigned long address, pte_t *ptep,
+			  pte_t entry, int dirty)
+{
+	if (!pte_same(ptep_get(ptep), entry))
+		__set_pte_at(ptep, entry);
+	/*
+	 * update_mmu_cache will unconditionally execute, handling both
+	 * the case that the PTE changed and the spurious fault case.
+	 */
+	return true;
+}
+
+int ptep_test_and_clear_young(struct vm_area_struct *vma,
+			      unsigned long address,
+			      pte_t *ptep)
+{
+	if (!pte_young(ptep_get(ptep)))
+		return 0;
+	return test_and_clear_bit(_PAGE_ACCESSED_OFFSET, &pte_val(*ptep));
+}
+EXPORT_SYMBOL_GPL(ptep_test_and_clear_young);
+
+#ifdef CONFIG_64BIT
+pud_t *pud_offset(p4d_t *p4d, unsigned long address)
+{
+	if (pgtable_l4_enabled)
+		return p4d_pgtable(p4dp_get(p4d)) + pud_index(address);
+
+	return (pud_t *)p4d;
+}
+
+p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
+{
+	if (pgtable_l5_enabled)
+		return pgd_pgtable(pgdp_get(pgd)) + p4d_index(address);
+
+	return (p4d_t *)pgd;
+}
+#endif
+
 #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
 int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 {
@@ -25,7 +66,7 @@ int pud_set_huge(pud_t *pud, phys_addr_t
 
 int pud_clear_huge(pud_t *pud)
 {
-	if (!pud_leaf(READ_ONCE(*pud)))
+	if (!pud_leaf(pudp_get(pud)))
 		return 0;
 	pud_clear(pud);
 	return 1;
@@ -33,7 +74,7 @@ int pud_clear_huge(pud_t *pud)
 
 int pud_free_pmd_page(pud_t *pud, unsigned long addr)
 {
-	pmd_t *pmd = pud_pgtable(*pud);
+	pmd_t *pmd = pud_pgtable(pudp_get(pud));
 	int i;
 
 	pud_clear(pud);
@@ -63,7 +104,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t
 
 int pmd_clear_huge(pmd_t *pmd)
 {
-	if (!pmd_leaf(READ_ONCE(*pmd)))
+	if (!pmd_leaf(pmdp_get(pmd)))
 		return 0;
 	pmd_clear(pmd);
 	return 1;
@@ -71,7 +112,7 @@ int pmd_clear_huge(pmd_t *pmd)
 
 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
 {
-	pte_t *pte = (pte_t *)pmd_page_vaddr(*pmd);
+	pte_t *pte = (pte_t *)pmd_page_vaddr(pmdp_get(pmd));
 
 	pmd_clear(pmd);
 
@@ -88,7 +129,7 @@ pmd_t pmdp_collapse_flush(struct vm_area
 	pmd_t pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp);
 
 	VM_BUG_ON(address & ~HPAGE_PMD_MASK);
-	VM_BUG_ON(pmd_trans_huge(*pmdp));
+	VM_BUG_ON(pmd_trans_huge(pmdp_get(pmdp)));
 	/*
 	 * When leaf PTE entries (regular pages) are collapsed into a leaf
 	 * PMD entry (huge page), a valid non-leaf PTE is converted into a



  parent reply	other threads:[~2024-09-10 10:34 UTC|newest]

Thread overview: 281+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-10  9:29 [PATCH 6.6 000/269] 6.6.51-rc1 review Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 001/269] sch/netem: fix use after free in netem_dequeue Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 002/269] net: microchip: vcap: Fix use-after-free error in kunit test Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 003/269] ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 004/269] KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 005/269] KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 006/269] KVM: SVM: Dont advertise Bus Lock Detect to guest if SVM support is missing Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 007/269] ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 008/269] ALSA: hda/realtek: add patch for internal mic in Lenovo V145 Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 009/269] ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 010/269] powerpc/qspinlock: Fix deadlock in MCS queue Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 011/269] smb: client: fix double put of @cfile in smb2_set_path_size() Greg Kroah-Hartman
2024-09-10  9:29 ` [PATCH 6.6 012/269] ksmbd: unset the binding mark of a reused connection Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 013/269] ksmbd: Unlock on in ksmbd_tcp_set_interfaces() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 014/269] ata: libata: Fix memory leak for error path in ata_host_alloc() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 015/269] x86/tdx: Fix data leak in mmio_read() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 016/269] perf/x86/intel: Limit the period on Haswell Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 017/269] irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 018/269] x86/kaslr: Expose and use the end of the physical memory address space Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 019/269] rtmutex: Drop rt_mutex::wait_lock before scheduling Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 020/269] nvme-pci: Add sleep quirk for Samsung 990 Evo Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 021/269] rust: types: Make Opaque::get const Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 022/269] rust: macros: provide correct provenance when constructing THIS_MODULE Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 023/269] Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE" Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 024/269] Bluetooth: MGMT: Ignore keys being loaded with invalid type Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 025/269] mmc: core: apply SD quirks earlier during probe Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 026/269] mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 027/269] mmc: sdhci-of-aspeed: fix module autoloading Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 028/269] mmc: cqhci: Fix checking of CQHCI_HALT state Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 029/269] fuse: update stats for pages in dropped aux writeback list Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 030/269] fuse: use unsigned type for getxattr/listxattr size truncation Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 031/269] fuse: fix memory leak in fuse_create_open Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 032/269] clk: starfive: jh7110-sys: Add notifier for PLL0 clock Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 033/269] clk: qcom: clk-alpha-pll: Fix the pll post div mask Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 034/269] clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 035/269] clk: qcom: clk-alpha-pll: Fix zonda set_rate failure when PLL is disabled Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 036/269] clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 037/269] can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 038/269] kexec_file: fix elfcorehdr digest exclusion when CONFIG_CRASH_HOTPLUG=y Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 039/269] mm: vmalloc: ensure vmap_block is initialised before adding to queue Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 040/269] spi: rockchip: Resolve unbalanced runtime PM / system PM handling Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 041/269] tracing/osnoise: Use a cpumask to know what threads are kthreads Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 042/269] tracing/timerlat: Only clear timer if a kthread exists Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 043/269] tracing: Avoid possible softlockup in tracing_iter_reset() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 044/269] tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 045/269] userfaultfd: dont BUG_ON() if khugepaged yanks our page table Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 046/269] userfaultfd: fix checks for huge PMDs Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 047/269] fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 048/269] eventfs: Use list_del_rcu() for SRCU protected list variable Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 049/269] net: mana: Fix error handling in mana_create_txq/rxqs NAPI cleanup Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 050/269] net: mctp-serial: Fix missing escapes on transmit Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 051/269] x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 052/269] x86/apic: Make x2apic_disable() work correctly Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 053/269] Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs" Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 054/269] tcp_bpf: fix return value of tcp_bpf_sendmsg() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 055/269] ila: call nf_unregister_net_hooks() sooner Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 056/269] sched: sch_cake: fix bulk flow accounting logic for host fairness Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 057/269] nilfs2: fix missing cleanup on rollforward recovery error Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 058/269] nilfs2: protect references to superblock parameters exposed in sysfs Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 059/269] nilfs2: fix state management in error path of log writing function Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 060/269] drm/i915: Do not attempt to load the GSC multiple times Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 061/269] ALSA: control: Apply sanity check of input values for user elements Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 062/269] ALSA: hda: Add input value sanity checks to HDMI channel map controls Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 063/269] wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 064/269] wifi: ath12k: fix firmware crash due to invalid peer nss Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 065/269] smack: unix sockets: fix accept()ed socket label Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 066/269] bpf, verifier: Correct tail_call_reachable for bpf prog Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 067/269] ELF: fix kernel.randomize_va_space double read Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 068/269] accel/habanalabs/gaudi2: unsecure edma max outstanding register Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 069/269] irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1 Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 070/269] af_unix: Remove put_pid()/put_cred() in copy_peercred() Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 071/269] x86/kmsan: Fix hook for unaligned accesses Greg Kroah-Hartman
2024-09-10  9:30 ` [PATCH 6.6 072/269] iommu: sun50i: clear bypass register Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 073/269] netfilter: nf_conncount: fix wrong variable type Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 074/269] wifi: iwlwifi: mvm: use IWL_FW_CHECK for link ID check Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 075/269] udf: Avoid excessive partition lengths Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 076/269] fs/ntfs3: One more reason to mark inode bad Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 077/269] riscv: kprobes: Use patch_text_nosync() for insn slots Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 078/269] media: vivid: fix wrong sizeimage value for mplane Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 079/269] leds: spi-byte: Call of_node_put() on error path Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 080/269] wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 081/269] usb: uas: set host status byte on data completion error Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 082/269] usb: gadget: aspeed_udc: validate endpoint index for ast udc Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 083/269] drm/amd/display: Run DC_LOG_DC after checking link->link_enc Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 084/269] drm/amd/display: Check HDCP returned status Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 085/269] drm/amdgpu: Fix smatch static checker warning Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 086/269] drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 087/269] media: vivid: dont set HDMI TX controls if there are no HDMI outputs Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 088/269] vfio/spapr: Always clear TCEs before unsetting the window Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 089/269] ice: Check all ice_vsi_rebuild() errors in function Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 090/269] PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0) Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 091/269] Input: ili210x - use kvmalloc() to allocate buffer for firmware update Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 092/269] media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 093/269] pcmcia: Use resource_size function on resource object Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 094/269] drm/amd/display: Check denominator pbn_div before used Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 095/269] drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 096/269] can: bcm: Remove proc entry when dev is unregistered Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 097/269] can: m_can: Release irq on error in m_can_open Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 098/269] can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 099/269] rust: Use awk instead of recent xargs Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 100/269] rust: kbuild: fix export of bss symbols Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 101/269] cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 102/269] igb: Fix not clearing TimeSync interrupts for 82580 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 103/269] ice: Add netif_device_attach/detach into PF reset flow Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 104/269] platform/x86: dell-smbios: Fix error path in dell_smbios_init() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 105/269] regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 106/269] can: kvaser_pciefd: Skip redundant NULL pointer check in ISR Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 107/269] can: kvaser_pciefd: Remove unnecessary comment Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 108/269] can: kvaser_pciefd: Rename board_irq to pci_irq Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 109/269] can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 110/269] can: kvaser_pciefd: Use a single write when releasing RX buffers Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 111/269] Bluetooth: qca: If memdump doesnt work, re-enable IBS Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 112/269] Bluetooth: hci_event: Use HCI error defines instead of magic values Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 113/269] Bluetooth: hci_conn: Only do ACL connections sequentially Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 114/269] Bluetooth: Remove pending ACL connection attempts Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 115/269] Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 116/269] Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 117/269] Bluetooth: hci_sync: Attempt to dequeue connection attempt Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 118/269] Bluetooth: hci_sync: Introduce hci_cmd_sync_run/hci_cmd_sync_run_once Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 119/269] Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 120/269] igc: Unlock on error in igc_io_resume() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 121/269] hwmon: (hp-wmi-sensors) Check if WMI event data exists Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 122/269] net: phy: Fix missing of_node_put() for leds Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 123/269] ice: protect XDP configuration with a mutex Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 124/269] ice: do not bring the VSI up, if it was down before the XDP setup Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 125/269] usbnet: modern method to get random MAC Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 126/269] bpf: Add sockptr support for getsockopt Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 127/269] bpf: Add sockptr support for setsockopt Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 128/269] net/socket: Break down __sys_setsockopt Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 129/269] net/socket: Break down __sys_getsockopt Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 130/269] bpf, net: Fix a potential race in do_sock_getsockopt() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 131/269] bareudp: Fix device stats updates Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 6.6 132/269] fou: Fix null-ptr-deref in GRO Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 133/269] r8152: fix the firmware doesnt work Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 134/269] net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 135/269] net: dsa: vsc73xx: fix possible subblocks range of CAPT block Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 136/269] selftests: net: enable bind tests Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 137/269] xen: privcmd: Fix possible access to a freed kirqfd instance Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 138/269] firmware: cs_dsp: Dont allow writes to read-only controls Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 139/269] phy: zynqmp: Take the phy mutex in xlate Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 140/269] ASoC: topology: Properly initialize soc_enum values Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 141/269] dm init: Handle minors larger than 255 Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 142/269] iommu/vt-d: Handle volatile descriptor status read Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 143/269] cgroup: Protect css->cgroup write under css_set_lock Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 144/269] um: line: always fill *error_out in setup_one_line() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 145/269] devres: Initialize an uninitialized struct member Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 146/269] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 147/269] virtio_ring: fix KMSAN error for premapped mode Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 148/269] wifi: rtw88: usb: schedule rx work after everything is set up Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 149/269] scsi: ufs: core: Remove SCSI host only if added Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 150/269] scsi: pm80xx: Set phy->enable_completion only when we wait for it Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 151/269] crypto: qat - fix unintentional re-enabling of error interrupts Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 152/269] hwmon: (adc128d818) Fix underflows seen when writing limit attributes Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 153/269] hwmon: (lm95234) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 154/269] hwmon: (nct6775-core) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 155/269] hwmon: (w83627ehf) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 156/269] ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 157/269] libbpf: Add NULL checks to bpf_object__{prev_map,next_map} Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 158/269] drm/amdgpu: Set no_hw_access when VF request full GPU fails Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 159/269] ext4: fix possible tid_t sequence overflows Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 160/269] jbd2: avoid mount failed when commit block is partial submitted Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 161/269] dma-mapping: benchmark: Dont starve others when doing the test Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 162/269] wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 163/269] drm/amdgpu: reject gang submit on reserved VMIDs Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 164/269] smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 165/269] fs/ntfs3: Check more cases when directory is corrupted Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 166/269] btrfs: replace BUG_ON with ASSERT in walk_down_proc() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 167/269] btrfs: clean up our handling of refs == 0 in snapshot delete Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 168/269] btrfs: replace BUG_ON() with error handling at update_ref_for_cow() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 169/269] cxl/region: Verify target positions using the ordered target list Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 170/269] riscv: set trap vector earlier Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 171/269] PCI: Add missing bridge lock to pci_bus_lock() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 172/269] tcp: Dont drop SYN+ACK for simultaneous connect() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 173/269] Bluetooth: btnxpuart: Fix Null pointer dereference in btnxpuart_flush() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 174/269] net: dpaa: avoid on-stack arrays of NR_CPUS elements Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 175/269] LoongArch: Use correct API to map cmdline in relocate_kernel() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 176/269] regmap: maple: work around gcc-14.1 false-positive warning Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 177/269] vfs: Fix potential circular locking through setxattr() and removexattr() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 178/269] i3c: master: svc: resend target address when get NACK Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 179/269] i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 180/269] kselftests: dmabuf-heaps: Ensure the driver name is null-terminated Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 181/269] spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 182/269] btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 183/269] s390/vmlinux.lds.S: Move ro_after_init section behind rodata section Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 184/269] HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 185/269] HID: amd_sfh: free driver_data after destroying hid device Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 186/269] Input: uinput - reject requests with unreasonable number of slots Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 187/269] usbnet: ipheth: race between ipheth_close and error handling Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 188/269] Squashfs: sanity check symbolic link size Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 189/269] of/irq: Prevent device address out-of-bounds read in interrupt map walk Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 190/269] lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 191/269] MIPS: cevt-r4k: Dont call get_c0_compare_int if timer irq is installed Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 6.6 192/269] spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 193/269] ata: pata_macio: Use WARN instead of BUG Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 194/269] smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 195/269] NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 196/269] riscv: Use WRITE_ONCE() when setting page table entries Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 197/269] mm: Introduce pudp/p4dp/pgdp_get() functions Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 198/269] riscv: mm: Only compile pgtable.c if MMU Greg Kroah-Hartman
2024-09-10  9:33 ` Greg Kroah-Hartman [this message]
2024-09-10  9:33 ` [PATCH 6.6 200/269] ACPI: CPPC: Add helper to get the highest performance value Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 201/269] cpufreq: amd-pstate: Enable amd-pstate preferred core support Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 202/269] cpufreq: amd-pstate: fix the highest frequency issue which limits performance Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 203/269] tcp: process the 3rd ACK with sk_socket for TFO/MPTCP Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 204/269] intel: legacy: Partial revert of field get conversion Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 205/269] staging: iio: frequency: ad9834: Validate frequency parameter value Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 206/269] iio: buffer-dmaengine: fix releasing dma channel on error Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 207/269] iio: fix scale application in iio_convert_raw_to_processed_unlocked Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 208/269] iio: adc: ad7124: fix config comparison Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 209/269] iio: adc: ad7606: remove frstdata check for serial mode Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 210/269] iio: adc: ad7124: fix chip ID mismatch Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 211/269] usb: dwc3: core: update LC timer as per USB Spec V3.2 Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 212/269] usb: cdns2: Fix controller reset issue Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 213/269] usb: dwc3: Avoid waking up gadget during startxfer Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 214/269] misc: fastrpc: Fix double free of buf in error path Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 215/269] binder: fix UAF caused by offsets overwrite Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 216/269] nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 217/269] uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 218/269] Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 219/269] VMCI: Fix use-after-free when removing resource in vmci_resource_remove() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 220/269] clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 221/269] clocksource/drivers/imx-tpm: Fix next event not taking effect sometime Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 222/269] clocksource/drivers/timer-of: Remove percpu irq related code Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 223/269] uprobes: Use kzalloc to allocate xol area Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 224/269] perf/aux: Fix AUX buffer serialization Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 225/269] mm/vmscan: use folio_migratetype() instead of get_pageblock_migratetype() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 226/269] Revert "mm: skip CMA pages when they are not available" Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 227/269] workqueue: wq_watchdog_touch is always called with valid CPU Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 228/269] workqueue: Improve scalability of workqueue watchdog touch Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 229/269] ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 230/269] ACPI: processor: Fix memory leaks in error paths of processor_add() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 231/269] arm64: acpi: Move get_cpu_for_acpi_id() to a header Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 232/269] arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 233/269] can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 234/269] can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 235/269] can: mcp251xfd: clarify the meaning of timestamp Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 236/269] can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 237/269] drm/amd: Add gfx12 swizzle mode defs Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 238/269] drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 239/269] ata: libata-scsi: Remove redundant sense_buffer memsets Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 240/269] ata: libata-scsi: Check ATA_QCFLAG_RTF_FILLED before using result_tf Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 241/269] crypto: starfive - Align rsa input data to 32-bit Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 242/269] crypto: starfive - Fix nent assignment in rsa dec Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 243/269] clk: qcom: ipq9574: Update the alpha PLL type for GPLLs Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 244/269] powerpc/64e: remove unused IBM HTW code Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 245/269] powerpc/64e: split out nohash Book3E 64-bit code Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 246/269] powerpc/64e: Define mmu_pte_psize static Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 247/269] powerpc/vdso: Dont discard rela sections Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 248/269] ASoC: tegra: Fix CBB error during probe() Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 249/269] nvmet-tcp: fix kernel crash if commands allocation fails Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 250/269] nvme-pci: allocate tagset on reset if necessary Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 251/269] ASoc: SOF: topology: Clear SOF link platform name upon unload Greg Kroah-Hartman
2024-09-10  9:33 ` [PATCH 6.6 252/269] ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 253/269] clk: qcom: gcc-sm8550: Dont use parking clk_ops for QUPs Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 254/269] clk: qcom: gcc-sm8550: Dont park the USB RCG at registration time Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 255/269] drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 256/269] drm/i915/fence: Mark debug_fence_free() " Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 257/269] gpio: rockchip: fix OF node leak in probe() Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 258/269] gpio: modepin: Enable module autoloading Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 259/269] smb: client: fix double put of @cfile in smb2_rename_path() Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 260/269] riscv: Fix toolchain vector detection Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 261/269] riscv: Do not restrict memory size because of linear mapping on nommu Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 262/269] ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery() Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 263/269] membarrier: riscv: Add full memory barrier in switch_mm() Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 264/269] x86/mm: Fix PTI for i386 some more Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 265/269] btrfs: fix race between direct IO write and fsync when using same fd Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 266/269] spi: spi-fsl-lpspi: Fix off-by-one in prescale max Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 267/269] Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 268/269] Bluetooth: hci_sync: Fix UAF on create_le_conn_complete Greg Kroah-Hartman
2024-09-10  9:34 ` [PATCH 6.6 269/269] Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync Greg Kroah-Hartman
2024-09-10 18:45 ` [PATCH 6.6 000/269] 6.6.51-rc1 review Harshit Mogalapalli
2024-09-10 19:12 ` Florian Fainelli
2024-09-10 22:02 ` Mark Brown
2024-09-10 23:20 ` Shuah Khan
2024-09-10 23:23 ` Takeshi Ogasawara
2024-09-11 10:11 ` Naresh Kamboju
2024-09-12  0:19 ` Ron Economos
2024-09-12  7:19 ` Jon Hunter
2024-09-12  7:24   ` Jon Hunter
2024-09-12  7:34     ` Greg Kroah-Hartman
2024-09-12  7:19 ` Kexy Biscuit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240910092615.189079103@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alexghiti@rivosinc.com \
    --cc=anup@brainfault.org \
    --cc=palmer@rivosinc.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=wangyuli@uniontech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox