diff options
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.patch | 32 |
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) |