[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 11 Nov 2013 08:27:09 -0500
From: Joe Mario <jmario@...hat.com>
To: Michal Marek <mmarek@...e.cz>
CC: Andi Kleen <andi@...stfloor.org>,
Fengguang Wu <fengguang.wu@...el.com>,
linux-kernel@...r.kernel.org
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists