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


Groups > linux.kernel > #1191378 > unrolled thread

[linux41] Kernel panic at i686

Started byPhilip Müller <philm@manjaro.org>
First post2015-07-24 00:50 +0200
Last post2015-07-26 10:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [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

#1191378 — [linux41] Kernel panic at i686

FromPhilip Müller <philm@manjaro.org>
Date2015-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]


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

FromPhilip Müller <philm@manjaro.org>
Date2015-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]


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

FromThomas Gleixner <tglx@linutronix.de>
Date2015-07-26 10:20 +0200
SubjectRe: [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