Re: [PATCH] fix page_reset_bad_cgroup

From: KAMEZAWA Hiroyuki
Date: Thu Apr 17 2008 - 23:33:14 EST


On Thu, 17 Apr 2008 20:22:21 -0700
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, 18 Apr 2008 12:10:46 +0900 KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
>
> > page->page_cgroup is unsigned long. Should be cleared by 0UL.
> >
> > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> >
> >
> > Index: linux-2.6.25/include/linux/memcontrol.h
> > ===================================================================
> > --- linux-2.6.25.orig/include/linux/memcontrol.h
> > +++ linux-2.6.25/include/linux/memcontrol.h
> > @@ -30,7 +30,7 @@ struct mm_struct;
> > extern void mm_init_cgroup(struct mm_struct *mm, struct task_struct *p);
> > extern void mm_free_cgroup(struct mm_struct *mm);
> >
> > -#define page_reset_bad_cgroup(page) ((page)->page_cgroup = 0)
> > +#define page_reset_bad_cgroup(page) ((page)->page_cgroup = 0UL)
>
> That's pretty cosmetic.
>
> In fact it could be argued that we shouldn't do this. "0" is zero
> regardless of the type of the LHS. So if we later change page_cgroup to
> u32 or u16 or `struct superblock *', the old page_reset_bad_cgroup() will
> happily continue to work. There's no need to make this code aware of
> page_cgroup's type, to this extent?
>
Ah, sorry. I was confused...please ignore.
(I debugged an user program which clear a pointer with 0, yesterday..)

-Kame



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/