Messages in this thread | | | Date | Thu, 18 Feb 2010 00:21:30 +0800 | From | Cong Wang <> | Subject | Re: [net-next PATCH v4 1/3] sysctl: refactor integer handling proc code |
| |
Octavian Purdila wrote: > On Tuesday 16 February 2010 15:09:51 you wrote: >> Octavian Purdila wrote: >>> On Tuesday 16 February 2010 10:41:07 you wrote: >>>>> +static int proc_skip_wspace(char __user **buf, size_t *size) >>>>> +{ >>>>> + char c; >>>>> + >>>>> + while (*size) { >>>>> + if (get_user(c, *buf)) >>>>> + return -EFAULT; >>>>> + if (!isspace(c)) >>>>> + break; >>>>> + (*size)--; (*buf)++; >>>>> + } >>>>> + >>>>> + return 0; >>>>> +} >>>> In lib/string.c we have skip_spaces(), I think we can use it >>>> here instead of inventing another one. >>> I'm afraid we can't, skip_spaces does not accept userspace buffers. >> Well, you need to use copy_from_user() before call it. >> > > And how much would you copy? You need to either use a stack buffer and do a > loop copy or you would need to copy the whole userspace buffer which means we > need to allocate a kernel buffer. I think its much cleaner the way is currently > done.
Yeah, maybe just a personal preference. :-/
| |