lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 6 Apr 2009 18:51:10 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Ingo Molnar <mingo@...e.hu>
cc:	linux-kernel@...r.kernel.org,
	Pekka Enberg <penberg@...helsinki.fi>,
	Steven Rostedt <rostedt@...dmis.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	Eduard - Gabriel Munteanu <eduard.munteanu@...ux360.ro>
Subject: Re: [GIT PULL] SLAB include file dependency fixes + kmemtrace
 updates



On Sun, 5 Apr 2009, Ingo Molnar wrote:
> 
> Please pull the latest kmemtrace-for-linus git tree from:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git kmemtrace-for-linus
> 
> We kept this topic separate from the main tracing tree due to the 
> unexpectedly wide and messy-looking scope of the fixes Pekka needed 
> to do to untangle various slab*.h, rcu*.h and fs.h dependency 
> chains.

I'm not sure this is the tree that brings in the problem, but my wife's 
Mac Mini won't boot any more, and it looks like some slub or percpu issue, 
so regardless, roughly the right people are involved in the cc here 
already.

I get odd NUL page faults or GP faults in either __kmalloc, 
__kmalloc_track_caller or kmem_cache_alloc, and they all seem to happen on 
roughly the same code, ie it's something like this:

        movq    752(%r13,%rax,8), %rdx  # <variable>.cpu_slab, c
        movl    24(%rdx), %eax  # <variable>.objsize,
        movl    %eax, -44(%rbp) #, objsize
        movq    (%rdx), %r12    # <variable>.freelist, object
        testq   %r12, %r12      # object
        je      .L617   #,
        mov     20(%rdx), %eax  # <variable>.offset, <variable>.offset
->      movq    (%r12,%rax,8), %rax     #* object, tmp79
        movq    %rax, (%rdx)    # tmp79, <variable>.freelist

where that arrow points to the instruction that seems to be faulting.

I think it's this code:

                object = c->freelist;
                c->freelist = object[c->offset];

and that "object[c->offset]" in particular.

I have not tried to bisect it yet, and I'll do that, but if this sounds 
familiar to anybody, please holler before I waste a lot of time on it.

		Linus
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ