From 5a4148aaafde9692d9964c046aff486ad3f9a139 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Sat, 25 Feb 2017 14:28:15 +0900 Subject: [PATCH] ___kfree(): disregard NULL pointer argument --- kernel/mem.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/kernel/mem.c b/kernel/mem.c index 2d99db85..27ed6fff 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -1868,9 +1868,14 @@ split_and_return: static void ___kfree(void *ptr) { - struct kmalloc_header *chunk = - (struct kmalloc_header*)(ptr - sizeof(struct kmalloc_header)); - unsigned long kmalloc_irq_flags = cpu_disable_interrupt_save(); + struct kmalloc_header *chunk; + unsigned long kmalloc_irq_flags; + + if (!ptr) + return; + + chunk = (struct kmalloc_header*)(ptr - sizeof(struct kmalloc_header)); + kmalloc_irq_flags = cpu_disable_interrupt_save(); /* Sanity check */ if (chunk->front_magic != 0x5c5c5c5c || chunk->end_magic != 0x6d6d6d6d) {