From: Horst Hummel Date: Fri, 24 Mar 2006 11:15:24 +0000 (-0800) Subject: [PATCH] s390: random values in result of BIODASDINFO2 X-Git-Tag: v2.6.17-rc1~966 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=554a826e0a29f1a88e5a5332f0718c059885ec17;p=linux-2.6 [PATCH] s390: random values in result of BIODASDINFO2 Use kzalloc to get a zeroed buffer for the structure returned to user space by the BIODASDINFO2 ioctl. Not all fields are set up, e.g. the read_devno is missing. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index e1dc0ffee0..d0c2d732dc 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c @@ -260,7 +260,7 @@ dasd_ioctl_information(struct dasd_device *device, if (!device->discipline->fill_info) return -EINVAL; - dasd_info = kmalloc(sizeof(struct dasd_information2_t), GFP_KERNEL); + dasd_info = kzalloc(sizeof(struct dasd_information2_t), GFP_KERNEL); if (dasd_info == NULL) return -ENOMEM; @@ -303,8 +303,7 @@ dasd_ioctl_information(struct dasd_device *device, memcpy(dasd_info->type, device->discipline->name, 4); else memcpy(dasd_info->type, "none", 4); - dasd_info->req_queue_len = 0; - dasd_info->chanq_len = 0; + if (device->request_queue->request_fn) { struct list_head *l; #ifdef DASD_EXTENDED_PROFILING