diff --git a/[refs] b/[refs] index f0c405d7f862..b1b54614485f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de55eb1d60d2ed0f1ba5e13226d91b3bfbe1c108 +refs/heads/master: 3e84f48edfd33b2e209a117c11fb9ce637cc9b67 diff --git a/trunk/fs/read_write.c b/trunk/fs/read_write.c index f7b5a23b804b..e6ddc8dceb96 100644 --- a/trunk/fs/read_write.c +++ b/trunk/fs/read_write.c @@ -424,6 +424,9 @@ ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t const char __user *p; ssize_t ret; + if (!file->f_op || (!file->f_op->write && !file->f_op->aio_write)) + return -EINVAL; + old_fs = get_fs(); set_fs(get_ds()); p = (__force const char __user *)buf;