From: Johannes Weiner <hannes@cmpxchg.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: Brad Bolen <bradleybolen@gmail.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: kernel panic on null pointer on page->mem_cgroup
Date: Mon, 21 Aug 2017 09:02:18 -0400 [thread overview]
Message-ID: <20170821130218.GA1371@cmpxchg.org> (raw)
In-Reply-To: <20170810115605.GQ23863@dhcp22.suse.cz>
On Thu, Aug 10, 2017 at 01:56:05PM +0200, Michal Hocko wrote:
> On Wed 09-08-17 14:38:25, Johannes Weiner wrote:
> > The issue is that writeback doesn't hold a page reference and the page
> > might get freed after PG_writeback is cleared (and the mapping is
> > unlocked) in test_clear_page_writeback(). The stat functions looking
> > up the page's node or zone are safe, as those attributes are static
> > across allocation and free cycles. But page->mem_cgroup is not, and it
> > will get cleared if we race with truncation or migration.
>
> Is there anything that prevents us from holding a reference on a page
> under writeback?
Hm, I'm hesitant to add redundant life-time management to the page
there just for memcg, which is not always configured in.
Pinning the memcg instead is slightly more complex, but IMO has the
complexity in a preferrable place.
Would you agree?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@cmpxchg.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: Brad Bolen <bradleybolen@gmail.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: kernel panic on null pointer on page->mem_cgroup
Date: Mon, 21 Aug 2017 09:02:18 -0400 [thread overview]
Message-ID: <20170821130218.GA1371@cmpxchg.org> (raw)
In-Reply-To: <20170810115605.GQ23863@dhcp22.suse.cz>
On Thu, Aug 10, 2017 at 01:56:05PM +0200, Michal Hocko wrote:
> On Wed 09-08-17 14:38:25, Johannes Weiner wrote:
> > The issue is that writeback doesn't hold a page reference and the page
> > might get freed after PG_writeback is cleared (and the mapping is
> > unlocked) in test_clear_page_writeback(). The stat functions looking
> > up the page's node or zone are safe, as those attributes are static
> > across allocation and free cycles. But page->mem_cgroup is not, and it
> > will get cleared if we race with truncation or migration.
>
> Is there anything that prevents us from holding a reference on a page
> under writeback?
Hm, I'm hesitant to add redundant life-time management to the page
there just for memcg, which is not always configured in.
Pinning the memcg instead is slightly more complex, but IMO has the
complexity in a preferrable place.
Would you agree?
next prev parent reply other threads:[~2017-08-21 13:02 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-05 15:52 kernel panic on null pointer on page->mem_cgroup Jaegeuk Kim
2017-08-05 15:52 ` Jaegeuk Kim
2017-08-08 1:01 ` Bradley Bolen
2017-08-08 16:21 ` Johannes Weiner
2017-08-08 16:21 ` Johannes Weiner
[not found] ` <20170808162122.GA14689-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2017-08-08 16:56 ` Jaegeuk Kim
2017-08-08 16:56 ` Jaegeuk Kim
2017-08-08 16:56 ` Jaegeuk Kim
[not found] ` <20170808165601.GA7693-Bkjb4tF/BptrGMd72DVhOyZ7yTyXFdtBkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2017-08-08 17:37 ` Johannes Weiner
2017-08-08 17:37 ` Johannes Weiner
2017-08-08 17:37 ` Johannes Weiner
[not found] ` <20170808173704.GA22887-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2017-08-08 19:13 ` Brad Bolen
2017-08-08 19:13 ` Brad Bolen
2017-08-08 19:13 ` Brad Bolen
2017-08-08 20:08 ` Johannes Weiner
2017-08-08 20:08 ` Johannes Weiner
2017-08-09 1:44 ` Jaegeuk Kim
2017-08-09 1:44 ` Jaegeuk Kim
[not found] ` <20170809014459.GB7693-Bkjb4tF/BptrGMd72DVhOyZ7yTyXFdtBkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2017-08-09 2:39 ` Brad Bolen
2017-08-09 2:39 ` Brad Bolen
2017-08-09 2:39 ` Brad Bolen
2017-08-09 18:38 ` Johannes Weiner
2017-08-09 18:38 ` Johannes Weiner
2017-08-09 18:38 ` Johannes Weiner
2017-08-10 11:56 ` Michal Hocko
2017-08-10 11:56 ` Michal Hocko
2017-08-21 13:02 ` Johannes Weiner [this message]
2017-08-21 13:02 ` Johannes Weiner
[not found] ` <20170821130218.GA1371-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2017-08-21 13:23 ` Michal Hocko
2017-08-21 13:23 ` Michal Hocko
2017-08-21 13:23 ` Michal Hocko
2017-08-10 13:50 ` Brad Bolen
2017-08-10 13:50 ` Brad Bolen
2017-08-11 1:30 ` Brad Bolen
2017-08-11 1:30 ` Brad Bolen
2017-08-11 21:37 ` Jaegeuk Kim
2017-08-11 21:37 ` Jaegeuk Kim
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=20170821130218.GA1371@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=bradleybolen@gmail.com \
--cc=cgroups@vger.kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=vdavydov.dev@gmail.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.