[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E2FDAA0.5020702@redhat.com>
Date: Wed, 27 Jul 2011 11:30:08 +0200
From: Igor Mammedov <imammedo@...hat.com>
To: Michal Hocko <mhocko@...e.cz>
CC: Andrew Morton <akpm@...ux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Hiroyuki Kamezawa <kamezawa.hiroyuki@...il.com>,
linux-kernel@...r.kernel.org, balbir@...ux.vnet.ibm.com,
linux-mm@...ck.org, Paul Menage <menage@...gle.com>,
Li Zefan <lizf@...fujitsu.com>,
containers@...ts.linux-foundation.org,
Tim Deegan <Tim.Deegan@...rix.com>
Subject: Re: [PATCH] memcg: do not expose uninitialized mem_cgroup_per_node
to world
On 07/27/2011 09:58 AM, Michal Hocko wrote:
> On Tue 26-07-11 14:17:54, Andrew Morton wrote:
>> On Fri, 10 Jun 2011 18:57:40 +0200
>> Igor Mammedov<imammedo@...hat.com> wrote:
>>
>>> On 06/08/2011 11:09 PM, Andrew Morton wrote:
>>>> The original patch:
>>>>
>>>> --- a/mm/memcontrol.c
>>>> +++ b/mm/memcontrol.c
>>>> @@ -4707,7 +4707,6 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *mem, int node)
>>>> if (!pn)
>>>> return 1;
>>>>
>>>> - mem->info.nodeinfo[node] = pn;
>>>> for (zone = 0; zone< MAX_NR_ZONES; zone++) {
>>>> mz =&pn->zoneinfo[zone];
>>>> for_each_lru(l)
>>>> @@ -4716,6 +4715,7 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *mem, int node)
>>>> mz->on_tree = false;
>>>> mz->mem = mem;
>>>> }
>>>> + mem->info.nodeinfo[node] = pn;
>>>> return 0;
>>>> }
>>>>
>>>> looks like a really good idea. But it needs a new changelog and I'd be
>>>> a bit reluctant to merge it as it appears that the aptch removes our
>>>> only known way of reproducing a bug.
>>>>
>>>> So for now I think I'll queue the patch up unchangelogged so the issue
>>>> doesn't get forgotten about.
>>>>
>>> Problem was in rhel's xen hv.
>>> It was missing fix for imul emulation.
>>> Details here
>>> http://lists.xensource.com/archives/html/xen-devel/2011-06/msg00801.html
>>> Thanks to Tim Deegan and everyone who was involved in the discussion.
>>
>> I really don't want to trawl through a lengthy xen bug report
>
> The bug turned out to be Xen specific and this patch just hidden the bug
> in Xen.
The problem was in incorrect imul instruction emulation in xen and as
consequence incorrect attempt to initialize list at invalid memory location.
>
>> and write your changelog for you.
>>
>> We still have no changelog for this patch. Please send one.
>
> Appart from a better programming style is there any other reason for
> taking it? If applied it might hide potential bugs when somebody is
> touching data too early.
>
If it ever happens and somebody is touching data too early, it would be
a bit easier to diagnose a problem when dereferencing NULL at
mem->info.nodeinfo[node] than wondering at partly initialized
mem_cgroup_per_zone. Aside from that it is purely cosmetic change.
Here is proposed change log:
Subject: Cleanup: memcg: Expose only initialized mem_cgroup_per_node to world
If somebody is touching data too early, it might be easier to diagnose
a problem when dereferencing NULL at mem->info.nodeinfo[node] than
trying to understand why mem_cgroup_per_zone is [un|partly]initialized.
Michal will you agree with such commit message?
--
Thanks,
Igor
--
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