Re: [-mm PATCH 1/8] Memory controller resource counters (v2)

From: Dave Hansen
Date: Fri Jul 06 2007 - 17:10:40 EST


On Fri, 2007-07-06 at 14:03 -0700, Balbir Singh wrote:
>
> >> +ssize_t res_counter_read(struct res_counter *cnt, int member,
> >> + const char __user *userbuf, size_t nbytes, loff_t
> *pos)
> >> +{
> >> + unsigned long *val;
> >> + char buf[64], *s;
> >> +
> >> + s = buf;
> >> + val = res_counter_member(cnt, member);
> >> + s += sprintf(s, "%lu\n", *val);
> >> + return simple_read_from_buffer((void __user *)userbuf, nbytes,
> >> + pos, buf, s - buf);
> >> +}
> >
> > Why do we need that cast?
> >
>
> u mean the __user? If I remember correctly it's a attribute for
> sparse.

The userbuf is already __user. This just appears to be making a 'const
char *' into a 'void *'. I wondered what the reason for that part is.

-- Dave

-
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/