lkml.org 
[lkml]   [2013]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [kallsyms] general protection fault: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
On 11/11/2013 07:07 AM, Michal Marek wrote:
> On 10.11.2013 16:23, Andi Kleen wrote:
>> On Sun, Nov 10, 2013 at 05:40:05PM +0800, Fengguang Wu wrote:
>>> Hi Joe,
>>>
>>> FYI. Here is another bisect result.
>>
>> I bet it's that strncpy() in kallsyms.c and someone passing in a too
>> short buffer on a 32bit kernel.
>>
>> We should really kill strncpy(), it's just evil.
>
> I'm testing a patch for include/linux/pci.h to use line numbers instead
> of the PCI ID macros to declare the __pci_fixup_* symbols. If that
> works, we can revert the limit back to 128 and only keep the check in
> kallsyms.c.
>
> Michal

Michal:
That would be great.

I found six locations which were still using an array size hardwired to "128" instead of KSYM_NAME_LEN. But none of them were related to the crash Fengguang Wu reported. We built a 32-bit kernel from his config (with a few issues) but were unable to reproduce the crash. Still trying.

Whatever happens, I agree the check in kallsyms.c for kernel symbols whose length exceeds the buffer size, needs to be in place.

Joe



\
 
 \ /
  Last update: 2013-11-11 14:41    [W:0.050 / U:1.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site