Merge branch 'linux-next' of git://git.open-osd.org/linux-open-osd
[firefly-linux-kernel-4.4.55.git] / fs / dlm / user.c
index eb4ed9ba3098198e8d1db357db48c8f6e9e2ff34..7ff49852b0cb75163ff9646dfb16195678971899 100644 (file)
@@ -503,6 +503,13 @@ static ssize_t device_write(struct file *file, const char __user *buf,
 #endif
                return -EINVAL;
 
+#ifdef CONFIG_COMPAT
+       if (count > sizeof(struct dlm_write_request32) + DLM_RESNAME_MAXLEN)
+#else
+       if (count > sizeof(struct dlm_write_request) + DLM_RESNAME_MAXLEN)
+#endif
+               return -EINVAL;
+
        kbuf = kzalloc(count + 1, GFP_NOFS);
        if (!kbuf)
                return -ENOMEM;