mtd: nand: fix integer widening problems
chip->pagebuf is a 32-bit type (int), so the shift will only be applied as 32-bit. Fix this for 64-bit safety. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
Родитель
7a6f43958a
Коммит
537ab1bd47
|
@ -2409,8 +2409,8 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
|
|||
blockmask = (1 << (chip->phys_erase_shift - chip->page_shift)) - 1;
|
||||
|
||||
/* Invalidate the page cache, when we write to the cached page */
|
||||
if (to <= (chip->pagebuf << chip->page_shift) &&
|
||||
(chip->pagebuf << chip->page_shift) < (to + ops->len))
|
||||
if (to <= ((loff_t)chip->pagebuf << chip->page_shift) &&
|
||||
((loff_t)chip->pagebuf << chip->page_shift) < (to + ops->len))
|
||||
chip->pagebuf = -1;
|
||||
|
||||
/* Don't allow multipage oob writes with offset */
|
||||
|
|
Загрузка…
Ссылка в новой задаче