Page MenuHomeFreeBSD

D32598.id97405.diff
No OneTemporary

D32598.id97405.diff

diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h
--- a/sys/compat/linuxkpi/common/include/linux/kernel.h
+++ b/sys/compat/linuxkpi/common/include/linux/kernel.h
@@ -393,6 +393,24 @@
return (0);
}
+static inline int
+kstrtou8(const char *cp, unsigned int base, u8 *res)
+{
+ char *end;
+ unsigned long temp;
+
+ *res = temp = strtoul(cp, &end, base);
+
+ /* skip newline character, if any */
+ if (*end == '\n')
+ end++;
+ if (*cp == 0 || *end != 0)
+ return (-EINVAL);
+ if (temp != (u8)temp)
+ return (-ERANGE);
+ return (0);
+}
+
static inline int
kstrtou16(const char *cp, unsigned int base, u16 *res)
{
@@ -484,6 +502,21 @@
return (kstrtobool(buf, res));
}
+static inline int
+kstrtou8_from_user(const char __user *s, size_t count, unsigned int base,
+ u8 *p)
+{
+ char buf[8] = {};
+
+ if (count > (sizeof(buf) - 1))
+ count = (sizeof(buf) - 1);
+
+ if (copy_from_user(buf, s, count))
+ return (-EFAULT);
+
+ return (kstrtou8(buf, base, p));
+}
+
#define min(x, y) ((x) < (y) ? (x) : (y))
#define max(x, y) ((x) > (y) ? (x) : (y))

File Metadata

Mime Type
text/plain
Expires
Thu, May 14, 1:16 AM (1 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33027660
Default Alt Text
D32598.id97405.diff (1 KB)

Event Timeline