iio: inkern: allocate zeroed memory
authorKim, Milo <Milo.Kim@ti.com>
Fri, 14 Sep 2012 01:24:00 +0000 (02:24 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 15 Sep 2012 09:27:40 +0000 (10:27 +0100)
 Use kzalloc() rather than kmalloc() for initializing the iio_channel structure.
 This patch enables the iio_dev and iio_chan_spec are set to NULL.
 This may prevent the page fault problem because the pointer of iio_chan_spec
 is initialized as NULL.

 The iio_chan_spec is updated only in case that the IIO map has
 specific channel label.
 When the map has no ADC channel label, then the value of iio_chan_spec
 remains as invalid pointer.
 To prevent this problem, the pointer should be initialized as NULL.

Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/inkern.c

index a14e55dd8ddcd790317a044f9f39a60772070a87..028c657f8da3baf828fdde58502e2e9cab30b487 100644 (file)
@@ -130,7 +130,7 @@ struct iio_channel *iio_channel_get(const char *name, const char *channel_name)
        if (c == NULL)
                return ERR_PTR(-ENODEV);
 
-       channel = kmalloc(sizeof(*channel), GFP_KERNEL);
+       channel = kzalloc(sizeof(*channel), GFP_KERNEL);
        if (channel == NULL)
                return ERR_PTR(-ENOMEM);