forked from Minki/linux
ata: pata_platform: Fix a NULL pointer dereference in __pata_platform_probe()
In __pata_platform_probe(), devm_kzalloc() is assigned to ap->ops and
there is a dereference of it right after that, which could introduce a
NULL pointer dereference bug.
Fix this by adding a NULL check of ap->ops.
This bug was found by a static analyzer.
Builds with 'make allyesconfig' show no new warnings,
and our static analyzer no longer warns about this code.
Fixes: f3d5e4f18d
("ata: pata_of_platform: Allow to use 16-bit wide data transfer")
Signed-off-by: Zhou Qingyang <zhou1615@umn.edu>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
This commit is contained in:
parent
0280e3c58f
commit
9b6d90e208
@ -128,6 +128,8 @@ int __pata_platform_probe(struct device *dev, struct resource *io_res,
|
||||
ap = host->ports[0];
|
||||
|
||||
ap->ops = devm_kzalloc(dev, sizeof(*ap->ops), GFP_KERNEL);
|
||||
if (!ap->ops)
|
||||
return -ENOMEM;
|
||||
ap->ops->inherits = &ata_sff_port_ops;
|
||||
ap->ops->cable_detect = ata_cable_unknown;
|
||||
ap->ops->set_mode = pata_platform_set_mode;
|
||||
|
Loading…
Reference in New Issue
Block a user