mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
irqchip: irq-crossbar: Not allocating enough memory
We are allocating the size of a pointer and not the size of the data.
This will lead to memory corruption.
There isn't actually a "cb_device" struct, btw. The code is only able
to compile because GCC knows that all pointers are the same size.
Fixes: 96ca848ef7
('DRIVERS: IRQCHIP: CROSSBAR: Add support for Crossbar IP')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Sricharan R <r.sricharan@ti.com>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Link: http://lkml.kernel.org/r/20140403072134.GA14286@mwanda
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
8cc3cfc5cc
commit
3894e9e82d
@ -107,7 +107,7 @@ static int __init crossbar_of_init(struct device_node *node)
|
||||
int i, size, max, reserved = 0, entry;
|
||||
const __be32 *irqsr;
|
||||
|
||||
cb = kzalloc(sizeof(struct cb_device *), GFP_KERNEL);
|
||||
cb = kzalloc(sizeof(*cb), GFP_KERNEL);
|
||||
|
||||
if (!cb)
|
||||
return -ENOMEM;
|
||||
|
Loading…
Reference in New Issue
Block a user