Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1192481

Re: [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure' on AMD i686

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject Re: [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure' on AMD i686
Date 2015-07-26 10:20 +0200
Message-ID <pQpk5-5QM-3@gated-at.bofh.it> (permalink)
References <pPxto-3NJ-11@gated-at.bofh.it> <pQnrY-38Z-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Sun, 26 Jul 2015, Philip Müller wrote:
> > task: f58e0000 ti: f58e8000 task.ti: f58e800
> > EIP: 0060:[<c135a903>] EFLAGS: 00010206 CPU: 0
> > EIP is at free_cache_attributes+0x83/0xd0
> > EAX: 00000001 EBX: f589d46c ECX: 00000090 EDX: 360c2000
> > ESI: 00000000 EDI: c1724a80 EBP: f58e9ec0 ESP: f58e9ea0
> >  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> > CR0: 8005003b CR2: 000000ac CR3: 01731000 CR4: 000006d0

That's a trivial NULL pointer dereference in the error/cleanup
path. Patch below should fix it.

Thanks,

	tglx
---
diff --git a/drivers/base/cacheinfo.c b/drivers/base/cacheinfo.c
index 764280a91776..f09b106d8b81 100644
--- a/drivers/base/cacheinfo.c
+++ b/drivers/base/cacheinfo.c
@@ -159,6 +159,9 @@ static void cache_shared_cpu_map_remove(unsigned int cpu)
 
 static void free_cache_attributes(unsigned int cpu)
 {
+	if (!per_cpu_cacheinfo(cpu))
+		return;
+
 	cache_shared_cpu_map_remove(cpu);
 
 	kfree(per_cpu_cacheinfo(cpu));
@@ -514,8 +517,7 @@ static int cacheinfo_cpu_callback(struct notifier_block *nfb,
 		break;
 	case CPU_DEAD:
 		cache_remove_dev(cpu);
-		if (per_cpu_cacheinfo(cpu))
-			free_cache_attributes(cpu);
+		free_cache_attributes(cpu);
 		break;
 	}
 	return notifier_from_errno(rc);

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[linux41] Kernel panic at i686 Philip Müller <philm@manjaro.org> - 2015-07-24 00:50 +0200
  [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs code  to generic infrastructure' on AMD i686 Philip Müller <philm@manjaro.org> - 2015-07-26 08:20 +0200
    Re: [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs  code to generic infrastructure' on AMD i686 Thomas Gleixner <tglx@linutronix.de> - 2015-07-26 10:20 +0200

csiph-web