diff options
Diffstat (limited to 'kernel/sysctl_binary.c')
| -rw-r--r-- | kernel/sysctl_binary.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c index 937d31dc8566..1357c5786064 100644 --- a/kernel/sysctl_binary.c +++ b/kernel/sysctl_binary.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/file.h> | 13 | #include <linux/file.h> |
| 14 | #include <linux/ctype.h> | 14 | #include <linux/ctype.h> |
| 15 | #include <linux/netdevice.h> | 15 | #include <linux/netdevice.h> |
| 16 | #include <linux/kernel.h> | ||
| 16 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
| 17 | 18 | ||
| 18 | #ifdef CONFIG_SYSCTL_SYSCALL | 19 | #ifdef CONFIG_SYSCTL_SYSCALL |
| @@ -1124,11 +1125,6 @@ out: | |||
| 1124 | return result; | 1125 | return result; |
| 1125 | } | 1126 | } |
| 1126 | 1127 | ||
| 1127 | static unsigned hex_value(int ch) | ||
| 1128 | { | ||
| 1129 | return isdigit(ch) ? ch - '0' : ((ch | 0x20) - 'a') + 10; | ||
| 1130 | } | ||
| 1131 | |||
| 1132 | static ssize_t bin_uuid(struct file *file, | 1128 | static ssize_t bin_uuid(struct file *file, |
| 1133 | void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) | 1129 | void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) |
| 1134 | { | 1130 | { |
| @@ -1156,7 +1152,8 @@ static ssize_t bin_uuid(struct file *file, | |||
| 1156 | if (!isxdigit(str[0]) || !isxdigit(str[1])) | 1152 | if (!isxdigit(str[0]) || !isxdigit(str[1])) |
| 1157 | goto out; | 1153 | goto out; |
| 1158 | 1154 | ||
| 1159 | uuid[i] = (hex_value(str[0]) << 4) | hex_value(str[1]); | 1155 | uuid[i] = (hex_to_bin(str[0]) << 4) | |
| 1156 | hex_to_bin(str[1]); | ||
| 1160 | str += 2; | 1157 | str += 2; |
| 1161 | if (*str == '-') | 1158 | if (*str == '-') |
| 1162 | str++; | 1159 | str++; |
