All of lore.kernel.org
 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: 282+ 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   ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.