Messages in this thread | | | Date | Wed, 26 Jan 2011 21:14:57 +0200 | Subject | Re: [PATCH 2/7] zram: Prevent overflow in logical block size | From | Pekka Enberg <> |
| |
On Wed, Jan 26, 2011 at 9:09 PM, Robert Jennings <rcj@linux.vnet.ibm.com> wrote: > Pekka Enberg <penberg@kernel.org> wrote: >> On Wed, Jan 26, 2011 at 7:23 PM, Robert Jennings <rcj@linux.vnet.ibm.com> wrote: >>> On a 64K page kernel, the value PAGE_SIZE passed to >>> blk_queue_logical_block_size would overflow the logical block size >>> argument (resulting in setting it to 0). >>> >>> Take the minimum of PAGE_SIZE or 4096 and use this for the block device >>> logical block size. >>> >>> Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com> >>> --- >>> drivers/staging/zram/zram_drv.c | 3 ++- >>> 1 files changed, 2 insertions(+), 1 deletions(-) >>> >>> diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c >>> index d0e9e02..d5e0275 100644 >>> --- a/drivers/staging/zram/zram_drv.c >>> +++ b/drivers/staging/zram/zram_drv.c >>> @@ -621,7 +621,8 @@ static int create_device(struct zram *zram, int device_id) >>> * and n*PAGE_SIZED sized I/O requests. >>> */ >>> blk_queue_physical_block_size(zram->disk->queue, PAGE_SIZE); >>> - blk_queue_logical_block_size(zram->disk->queue, PAGE_SIZE); >>> + blk_queue_logical_block_size(zram->disk->queue, >>> + (unsigned short) min_t(unsigned int, PAGE_SIZE, 4096)); >> >> I don't get it. No architecture supports PAGE_SIZE less than 4K so >> that expression always ends up being 4096, no? > > Yes, I will cut out the min_t and just hard-code this to 4096.
Please make a ZRAM_BLOCK_SIZE constant or something for that. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |