From: Heiko Carstens <heiko.carstens@de.ibm.com>
To: Pingfan Liu <kernelfans@gmail.com>
Cc: Christoph Lameter <cl@linux.com>,
Pekka Enberg <penberg@kernel.org>,
David Rientjes <rientjes@google.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-next@vger.kernel.org, linux-mm@kvack.org,
linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [BUG -next 20181008] list corruption with "mm/slub: remove useless condition in deactivate_slab"
Date: Tue, 16 Oct 2018 09:36:29 +0200 [thread overview]
Message-ID: <20181016073629.GA3194@osiris> (raw)
In-Reply-To: <CAFgQCTtQ2+bu44top5Fy=7KWRVrpFLnsRGupksK1ixR9oFZs+g@mail.gmail.com>
On Tue, Oct 16, 2018 at 02:29:28PM +0800, Pingfan Liu wrote:
> > I think it is caused by the uinon page->lru and page->next. It can be fixed by:
> > diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
> > index 3a1a1db..4aa0fb5 100644
> > --- a/include/linux/slub_def.h
> > +++ b/include/linux/slub_def.h
> > @@ -56,6 +56,7 @@ struct kmem_cache_cpu {
> > #define slub_set_percpu_partial(c, p) \
> > ({ \
> > slub_percpu_partial(c) = (p)->next; \
> > + p->next = NULL; \
> > })
> >
> > I will do some test and post the fix.
> >
> Please ignore the above comment. And after re-check the code, I am
> sure that all callers of deactivate_slab(), pass c->page, which means
> that page should not be on any list. But your test result "list_add
> double add: new=000003d1029ecc08,
> prev=000000008ff846d0,next=000003d1029ecc08" indicates that
> page(new) is already on a list. I think that maybe something else is
> wrong which is covered.
> I can not reproduce this bug on x86. Could you share your config and
> cmdline? Any do you turn on any debug option of slub?
You can re-create the config with "make ARCH=s390 debug_defconfig".
Not sure which machine I used to reproduce this but most likely it was
a machine with these command line options:
dasd=e12d root=/dev/dasda1 userprocess_debug numa_debug sched_debug
ignore_loglevel sclp_con_drop=1 sclp_con_pages=32 audit=0
crashkernel=128M ignore_rlimit_data
You can ignore the dasd and sclp* command line options. These are
s390 specific. The rest should be available on any architecture.
next prev parent reply other threads:[~2018-10-16 7:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-09 6:35 [BUG -next 20181008] list corruption with "mm/slub: remove useless condition in deactivate_slab" Heiko Carstens
2018-10-09 23:24 ` Andrew Morton
2018-10-15 5:54 ` Pingfan Liu
2018-10-16 6:29 ` Pingfan Liu
2018-10-16 7:36 ` Heiko Carstens [this message]
2018-10-19 1:17 ` Pingfan Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181016073629.GA3194@osiris \
--to=heiko.carstens@de.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=kernelfans@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-next@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.