[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140130135002.22ce1c12b7136f75e5985df6@linux-foundation.org>
Date: Thu, 30 Jan 2014 13:50:02 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: David Rientjes <rientjes@...gle.com>
Cc: Vladimir Davydov <vdavydov@...allels.com>, mhocko@...e.cz,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] memcg: fix mutex not unlocked on
memcg_create_kmem_cache fail path
On Thu, 30 Jan 2014 13:38:56 -0800 (PST) David Rientjes <rientjes@...gle.com> wrote:
> > > What's funnier is that tmp_name isn't required at all since
> > > kmem_cache_create_memcg() is just going to do a kstrdup() on it anyway, so
> > > you could easily just pass in the pointer to memory that has been
> > > allocated for s->name rather than allocating memory twice.
> >
> > We need a buffer to sprintf() into.
> >
>
> Yeah, it shouldn't be temporary it should be the one and only allocation.
> We should construct the name in memcg_create_kmem_cache() and be done with
> it.
Could. That would require converting memcg_create_kmem_cache() to take
a va_list and call kasprintf() on it.
The problem is that pesky rcu_read_lock() which is required around
cgroup_name() - we'd have to call memcg_create_kmem_cache() under
rcu_read_lock() so the usual GFP_foo limitations apply.
--
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