[git patches] libata fix

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jeff Garzik
Date: Thursday, April 8, 2010 - 9:58 am

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git upstream-linus

to receive the following updates:

 include/linux/ata.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Mark Lord (1):
      libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2)

diff --git a/include/linux/ata.h b/include/linux/ata.h
index b4c85e2..700c5b9 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -1025,8 +1025,8 @@ static inline int ata_ok(u8 status)
 
 static inline int lba_28_ok(u64 block, u32 n_block)
 {
-	/* check the ending block number */
-	return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
+	/* check the ending block number: must be LESS THAN 0x0fffffff */
+	return ((block + n_block) < ((1 << 28) - 1)) && (n_block <= 256);
 }
 
 static inline int lba_48_ok(u64 block, u32 n_block)
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[git patches] libata fix, Jeff Garzik, (Thu Apr 8, 9:58 am)