|
@@ -13,6 +13,7 @@
|
|
|
#include <linux/file.h>
|
|
|
#include <linux/ctype.h>
|
|
|
#include <linux/netdevice.h>
|
|
|
+#include <linux/kernel.h>
|
|
|
#include <linux/slab.h>
|
|
|
|
|
|
#ifdef CONFIG_SYSCTL_SYSCALL
|
|
@@ -1124,11 +1125,6 @@ out:
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-static unsigned hex_value(int ch)
|
|
|
-{
|
|
|
- return isdigit(ch) ? ch - '0' : ((ch | 0x20) - 'a') + 10;
|
|
|
-}
|
|
|
-
|
|
|
static ssize_t bin_uuid(struct file *file,
|
|
|
void __user *oldval, size_t oldlen, void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -1156,7 +1152,8 @@ static ssize_t bin_uuid(struct file *file,
|
|
|
if (!isxdigit(str[0]) || !isxdigit(str[1]))
|
|
|
goto out;
|
|
|
|
|
|
- uuid[i] = (hex_value(str[0]) << 4) | hex_value(str[1]);
|
|
|
+ uuid[i] = (hex_to_bin(str[0]) << 4) |
|
|
|
+ hex_to_bin(str[1]);
|
|
|
str += 2;
|
|
|
if (*str == '-')
|
|
|
str++;
|