Red Hat Bugzilla – Bug 199542
Data corruption after IO error on swap (RHEL3)
Last modified: 2018-10-19 15:13:39 EDT
IT# 97960 This is the RHEL3 version of bug 198749 When an IO error occurs while writing a page to swap, the io completion functiton marks the page with SetPageError() but fails to re-mark the page with SetPageDirty(). Since the writeback was unsuccessful this is in error. The page may subsequently be discarded from memory as it is now clean, resulting in incorrect data being read when the page is later faulted back in. In the read case, we need to check PageUptodate to ensure the IO completed without error and return VM_FAULT_SIGBUS if it did not. In the write case, an additional call to SetPageDirty() is placed immediately after the call to SetPageError(). Customer has provided a patch based on upstream.
Created attachment 132737 [details] Patch to correct swap IO error handling
RHEL3 is now closed.
This should be re-consideration since we are now going to plan RHEL3U9 and this problem causes data corruption.
QE ack for 3.9.
A fix for this problem has just been committed to the RHEL3 U9 patch pool this evening (in kernel version 2.4.21-47.6.EL).
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2007-0436.html
Bugzilla comment added: An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2007-0436.html Internal Status set to 'Resolved' Status set to: Closed by Tech Summary edited. This event sent from IssueTracker by mmatsuya issue 97960