Updated kernel packages that fix two bugs are now available for Red Hat Enterprise Linux 6 Extended Update Support.
The kernel packages contain the Linux kernel, the core of any Linux operating system.
A bug in the splice code caused the file position on the write side of the sendfile() system call to be incorrectly set to the read-side file position. This could result in data being written to an incorrect offset of the destination file descriptor. With this update, sendfile() has been modified to correctly use the current file position for the write-side file descriptor. Note that the bug did not occur in the following sendfile() scenarios: when both read and write file positions were identical and when the file position was not important (for example if the write side was a socket).
Previously, the sendfile(2) function was reimplemented to use splice infrastructure, but the function still checked for the f_op.sendpage() method call instead of the f_op.splice_write() method call. Because splice infrastructure was used for the sendfile(2) function, the check for sendpage infrastructure always failed. This problem has been fixed by removing the deprecated check and using f_op.sendpage() instead.
All users of kernel are advised to upgrade to these updated packages, which fix these bugs. Note that the system must be rebooted for this update to take effect.