Hey, commit:
commit 3228149ceb8b045e324cd268be9182bb26e6488b
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu Jan 22 15:37:47 2009 +1100
xfs: Check buffer lengths in log recovery
Before trying to obtain, read or write a buffer,
check that the buffer length is actually valid. If
it is not valid, then something read in the recovery
process has been corrupted and we should abort
recovery.
Reported-by: Eric Sesterhenn <snakebyte@xxxxxx>
Tested-by: Eric Sesterhenn <snakebyte@xxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Reviewed-by: Felix Blyakher <felixb@xxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
Signed-off-by: Felix Blyakher <felixb@xxxxxxx>
added some XFS_ERROR_REPORTs, but at _HIGH:
+ if (nbblks <= 0 || nbblks > log->l_logBBsize) {
+ xlog_warn("XFS: Invalid block length (0x%x) given for
buffer", nbblks);
+ XFS_ERROR_REPORT("xlog_get_bp(1)",
+ XFS_ERRLEVEL_HIGH, log->l_mp);
+ return NULL;
+ }
which means unless logging is turned up HIGH (higher than default), we
won't see it. Should this be HIGH? Not sure what the original intent was.
-Eric
|