Re: [BUG] SLOB breaks Crypto

From: Adrian-Ken Rueegsegger
Date: Tue May 18 2010 - 04:28:01 EST


Matt Mackall schrieb:
> On Mon, 2010-05-17 at 23:50 +0200, Adrian-Ken Rueegsegger wrote:
>> Geert Uytterhoeven wrote:
>>> On Fri, Mar 19, 2010 at 02:33, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
>>>> On Thu, Mar 18, 2010 at 10:24:41PM +0100, michael-dev@xxxxxxxxxxxxx wrote:
>>>>> Pekka Enberg schrieb:
>>>>>> Even with CONFIG_DEBUG_SLAB enabled or with CONFIG_SLUB and
>>>>>> CONFIG_SLUB_DEBUG_ON?
>>>>> no, these options have not been / are not enabled.
>>>> Can you please try it with those options enabled? That will tell
>>>> us if there is some latent bug in the crypto layer that only shows
>>>> up right away under SLOB.
>>> After seeing a posting from Nemoto-san on the linux-mips list (should
>>> show up soon on
>>> http://www.linux-mips.org/archives/linux-mips/2010-05/threads.html),
>>> I'm wondering if these defaults are the culprit;
>>>
>>> mm/slab.c:#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long long)
>>> mm/slob.c:#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long)
>>> mm/slub.c:#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long long)
>
> Seems the target here is x86, which has no DMA or other alignment
> constraints.
>
>> Just a quick note: I changed this line in mm/slob.c to (unsigned long
>> long) and was able to load tcrypt without the kernel oopsing or
>> panic'ing. When running all test via
>>
>> modprobe tcrypt
>
> Hmmm, sounds like something in crypto has a bogus alignment/padding
> expectation. Surprised it wasn't caught by SLAB redzoning though.
> Perhaps we can 'bisect' the test suite to narrow it down to a particular
> test. Alternately, we can tweak SLAB to offset buffers by two bytes and
> see what breaks.

As noted in my other mail [1] it seems like the HMAC tests trigger these
errors.

Regards,
Adrian

[1] - http://lkml.org/lkml/2010/5/14/199
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/