Re: [PATCH] lib/vsprintf.c: increase the size of the field_width variable

From: Tejun Heo
Date: Wed Sep 09 2015 - 09:39:45 EST


On Wed, Sep 09, 2015 at 12:13:10PM +0200, Maurizio Lombardi wrote:
> When printing a bitmap using the "%*pb[l]" printk format
> a 16 bit variable (field_width) is used to store the size of the bitmap.
> In some cases 16 bits are not sufficient, the variable overflows and
> printk does not work as expected.
>
> This patch fixes the problem by changing the type of field_width to s32.
>
> How to reproduce the bug:
>
> 1.load scsi_debug
> # modprobe scsi-debug dev_size_mb=256 lbpu=1 lbpws10=1
>
> 2.create VG
> # vgcreate tsvg /dev/sdb
> Physical volume "/dev/sdb" successfully created
> Volume group "tsvg" successfully created
>
> 3. Bitmap should be set, but still empty
> # cat /sys/bus/pseudo/drivers/scsi_debug/map
>
> Expected results:
> # cat /sys/bus/pseudo/drivers/scsi_debug/map
> 0-15
>
> Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx>

Acked-by: Tejun Heo <tj@xxxxxxxxxx>

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/