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

Dave Hansen
2007-07-06T20:06:36Z

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