summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vserver-sources/old/2.1.1_rc11-r1/4912_vs2.1.1-rc11-sendfile-fix02.patch')
-rw-r--r--vserver-sources/old/2.1.1_rc11-r1/4912_vs2.1.1-rc11-sendfile-fix02.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc11-r1/4912_vs2.1.1-rc11-sendfile-fix02.patch b/vserver-sources/old/2.1.1_rc11-r1/4912_vs2.1.1-rc11-sendfile-fix02.patch
new file mode 100644
index 0000000..24ffaf5
--- /dev/null
+++ b/vserver-sources/old/2.1.1_rc11-r1/4912_vs2.1.1-rc11-sendfile-fix02.patch
@@ -0,0 +1,32 @@
+Index: vserver-sources-2.1.1_2.6.15/fs/read_write.c
+===================================================================
+--- vserver-sources-2.1.1_2.6.15.orig/fs/read_write.c
++++ vserver-sources-2.1.1_2.6.15/fs/read_write.c
+@@ -642,10 +642,10 @@ ssize_t vfs_sendfile(struct file *out_fi
+ if (!(in_file->f_mode & FMODE_PREAD))
+ return -ESPIPE;
+
+- ret = rw_verify_area(FLOCK_VERIFY_READ, in_file, ppos, count);
+- if (ret < 0)
++ //ret = rw_verify_area(FLOCK_VERIFY_READ, in_file, ppos, count);
++ ret = rw_verify_area(READ, in_file, ppos, count);
++ if (ret)
+ return ret;
+- count = ret;
+
+ /* verify out_file */
+ out_inode = out_file->f_dentry->d_inode;
+@@ -654,10 +654,10 @@ ssize_t vfs_sendfile(struct file *out_fi
+ if (!out_file->f_op || !out_file->f_op->sendpage)
+ return -EINVAL;
+
+- ret = rw_verify_area(FLOCK_VERIFY_WRITE, out_file, &out_file->f_pos, count);
+- if (ret < 0)
++ //ret = rw_verify_area(FLOCK_VERIFY_WRITE, out_file, &out_file->f_pos, count);
++ ret = rw_verify_area(WRITE, out_file, &out_file->f_pos, count);
++ if (ret)
+ return ret;
+- count = ret;
+
+ ret = security_file_permission (out_file, MAY_WRITE);
+ if (ret)