Re: [net-next PATCH v4 1/3] sysctl: refactor integer handling proccode

From: Cong Wang
Date: Wed Feb 17 2010 - 11:18:16 EST


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

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