Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1191378 > unrolled thread
| Started by | Philip Müller <philm@manjaro.org> |
|---|---|
| First post | 2015-07-24 00:50 +0200 |
| Last post | 2015-07-26 10:20 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[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
| From | Philip Müller <philm@manjaro.org> |
|---|---|
| Date | 2015-07-24 00:50 +0200 |
| Subject | [linux41] Kernel panic at i686 |
| Message-ID | <pPxto-3NJ-11@gated-at.bofh.it> |
Hi all, I started to test linux 4.1 series with rc6. However, I was never able to boot that kernel in i686 architecture. Trying it again with VirtualBox gave me more conclusions. Using one core it simply boots up. Using more than one CPU core it crashes with: Failed to access perfctr msr (MSR c0010007 is 0) 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 In more rich detail you can find that problem on my bug-tracker for Manjaro Linux: https://github.com/manjaro/packages-core/issues/14 I just want to know if you are aware of it. With current 4.1.3 release I still face that issue ... kind regards Philip Müller -------------------------- Manjaro Project-Lead -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Philip Müller <philm@manjaro.org> |
|---|---|
| Date | 2015-07-26 08:20 +0200 |
| Subject | [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure' on AMD i686 |
| Message-ID | <pQnrY-38Z-1@gated-at.bofh.it> |
| In reply to | #1191378 |
Hi Guenter, Sudeep, It now came down to 'x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure'[1] as you can see here[2]. The facts are: - You can't boot on i686 only with more than one CPU core on AMD hardware (x86_64 however works) - Using Ubuntu config[3] it boots but creates an kernel >= 1 GB in size on Manjaro - By reverting 0d55ba4[4] the kernel boots. So we have to find out what is causing this issue[5]. kind regards Philip Müller -------------------------- Manjaro Project-Lead [1] https://github.com/torvalds/linux/commit/0d55ba46bfbee64fd2b492b87bfe2ec172e7b056 [2] https://raw.githubusercontent.com/philmmanjaro/linux41/master/git-bisect.txt [3] https://raw.githubusercontent.com/philmmanjaro/linux41/master/config.4.1.3-040103-generic [4] https://github.com/manjaro/packages-core/commit/f7b77f3e84295a6313a9181d520fb48e60453b64 [5] https://github.com/manjaro/packages-core/issues/14 On 24.07.2015 00:23, Philip Müller wrote: > Hi all, > > I started to test linux 4.1 series with rc6. However, I was never able > to boot that kernel in i686 architecture. Trying it again with > VirtualBox gave me more conclusions. Using one core it simply boots up. > Using more than one CPU core it crashes with: > > Failed to access perfctr msr (MSR c0010007 is 0) > > 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 > > In more rich detail you can find that problem on my bug-tracker for > Manjaro Linux: > > https://github.com/manjaro/packages-core/issues/14 > > I just want to know if you are aware of it. With current 4.1.3 release I > still face that issue ... > > kind regards > Philip Müller > -------------------------- > Manjaro Project-Lead > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2015-07-26 10:20 +0200 |
| Subject | Re: [linux41] regression with 'x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure' on AMD i686 |
| Message-ID | <pQpk5-5QM-3@gated-at.bofh.it> |
| In reply to | #1192468 |
[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);
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web