@@ -1460,7 +1460,6 @@ static int loop_get_status(struct loop_device *lo,
static void loop_info64_from_old(const struct loop_info *info,
struct loop_info64 *info64)
{
- memset(info64, 0, sizeof(*info64));
info64->lo_number = info->lo_number;
info64->lo_device = info->lo_device;
info64->lo_inode = info->lo_inode;
@@ -1513,7 +1512,7 @@ static int loop_set_status_old(struct loop_device *lo,
const struct loop_info __user *arg)
{
struct loop_info info;
- struct loop_info64 info64;
+ struct loop_info64 info64 = { };
if (copy_from_user(&info, arg, sizeof (struct loop_info)))
return -EFAULT;
In current code loop_info64_from_old() is only called from the one caller loop_set_status_old(). Initialize the info64 local variable to zero before we pass it to the loop_info64_from_old() so that we can get rid of the memset in the loop_info64_from_old(). Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> --- drivers/block/loop.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)