lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 28 Dec 2020 11:10:50 +0800 From: Defang Bo <bodefang@....com> To: mpe@...erman.id.au, benh@...nel.crashing.org, paulus@...ba.org, christophe.leroy@...roup.eu, akpm@...ux-foundation.org, geert@...ux-m68k.org, rppt@...nel.org, linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org Cc: Defang Bo <bodefang@....com> Subject: [PATCH] powerpc/mm: add sanity check to avoid null pointer dereference Similar to commit<0dc294f717d4>("powerpc/mm: bail out early when flushing TLB page"), there should be a check for 'mm' to prevent Null pointer dereference in case of 'mm' argument was legitimately passed. Signed-off-by: Defang Bo <bodefang@....com> --- arch/powerpc/mm/nohash/tlb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c index 5872f69..1d89335 100644 --- a/arch/powerpc/mm/nohash/tlb.c +++ b/arch/powerpc/mm/nohash/tlb.c @@ -192,6 +192,9 @@ void local_flush_tlb_mm(struct mm_struct *mm) { unsigned int pid; + if (WARN_ON(!mm)) + return; + preempt_disable(); pid = mm->context.id; if (pid != MMU_NO_CONTEXT) @@ -205,8 +208,11 @@ void __local_flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr, { unsigned int pid; + if (WARN_ON(!mm)) + return; + preempt_disable(); - pid = mm ? mm->context.id : 0; + pid = mm->context.id; if (pid != MMU_NO_CONTEXT) _tlbil_va(vmaddr, pid, tsize, ind); preempt_enable(); @@ -268,6 +274,9 @@ void flush_tlb_mm(struct mm_struct *mm) { unsigned int pid; + if (WARN_ON(!mm)) + return; + preempt_disable(); pid = mm->context.id; if (unlikely(pid == MMU_NO_CONTEXT)) -- 2.7.4
Powered by blists - more mailing lists