Message ID | 9daaf5a9-b233-9998-9d0a-26054b636b06@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
--- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2112,6 +2112,30 @@ static int proc_put_char(void __user **buf, size_t *size, char c) return 0; } + +static int do_proc_dou8vec_conv(bool *negp, unsigned long *lvalp, + int *valp, + int write, void *data) +{ + if (write) { + if (*negp) + *(u8 *)valp = -*lvalp; + else + *(u8 *)valp = *lvalp; + } else { + int val = *(u8 *)valp; + + if (val < 0) { + *negp = true; + *lvalp = -(unsigned long)val; + } else { + *negp = false; + *lvalp = (unsigned long)val; + } + } + return 0; +} + [...]