target: Avoid integer overflow in se_dev_align_max_sectors()
authorRoland Dreier <roland@purestorage.com>
Wed, 31 Oct 2012 16:16:45 +0000 (09:16 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 16 Nov 2012 16:47:06 +0000 (16:47 +0000)
commit 3e03989b5868acf69a391a424dc71fcd6cc48167 upstream.

The expression (max_sectors * block_size) might overflow a u32
(indeed, since iblock sets max_hw_sectors to UINT_MAX, it is
guaranteed to overflow and end up with a much-too-small result in many
common cases).  Fix this by doing an equivalent calculation that
doesn't require multiplication.

While we're touching this code, avoid splitting a printk format across
two lines and use pr_info(...) instead of printk(KERN_INFO ...).

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/target/target_core_device.c

Simple merge