blkdev.h integer overflows
blk_max_pfn is an unsigned long; left shifting by PAGE_SHIFT means it may overflow.
Bill
include/linux/blkdev.h +2 -2
@@ -297,8 +297,8 @@ extern unsigned long blk_max_low_pfn, bl* BLK_BOUNCE_ANY : don't bounce anything * BLK_BOUNCE_ISA : bounce pages above ISA DMA boundary */ -#define BLK_BOUNCE_HIGH (blk_max_low_pfn << PAGE_SHIFT) -#define BLK_BOUNCE_ANY (blk_max_pfn << PAGE_SHIFT) +#define BLK_BOUNCE_HIGH ((u64)blk_max_low_pfn << PAGE_SHIFT) +#define BLK_BOUNCE_ANY ((u64)blk_max_pfn << PAGE_SHIFT)#define BLK_BOUNCE_ISA (ISA_DMA_THRESHOLD)extern int init_emergency_isa_pool (void );