Message ID | 20250331093922.7735-1-bsdhenrymartin@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drivers/misc: Add NULL check in aspeed_lpc_enable_snoop | expand |
On 31/03/2025 11:39, Henry Martin wrote: > When devm_kasprintf() fails, it returns a NULL pointer. However, this return value is not properly checked in the function aspeed_lpc_enable_snoop. > > A NULL check should be added after the devm_kasprintf() to prevent potential NULL pointer dereference error. > Same comments. > Fixes: 3772e5da44542 ("Aspeed LPC snoop output using misc chardev") > There is never a blank line between tags. > Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com> > --- > drivers/soc/aspeed/aspeed-lpc-snoop.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c > index 9ab5ba9cf1d6..376b3a910797 100644 > --- a/drivers/soc/aspeed/aspeed-lpc-snoop.c > +++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c > @@ -200,6 +200,8 @@ static int aspeed_lpc_enable_snoop(struct aspeed_lpc_snoop *lpc_snoop, > lpc_snoop->chan[channel].miscdev.minor = MISC_DYNAMIC_MINOR; > lpc_snoop->chan[channel].miscdev.name = > devm_kasprintf(dev, GFP_KERNEL, "%s%d", DEVICE_NAME, channel); > + if (!lpc_snoop->chan[channel].miscdev.name) > + return -ENOMEM; Missing cleanup. Best regards, Krzysztof
diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c index 9ab5ba9cf1d6..376b3a910797 100644 --- a/drivers/soc/aspeed/aspeed-lpc-snoop.c +++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c @@ -200,6 +200,8 @@ static int aspeed_lpc_enable_snoop(struct aspeed_lpc_snoop *lpc_snoop, lpc_snoop->chan[channel].miscdev.minor = MISC_DYNAMIC_MINOR; lpc_snoop->chan[channel].miscdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s%d", DEVICE_NAME, channel); + if (!lpc_snoop->chan[channel].miscdev.name) + return -ENOMEM; lpc_snoop->chan[channel].miscdev.fops = &snoop_fops; lpc_snoop->chan[channel].miscdev.parent = dev; rc = misc_register(&lpc_snoop->chan[channel].miscdev);
When devm_kasprintf() fails, it returns a NULL pointer. However, this return value is not properly checked in the function aspeed_lpc_enable_snoop. A NULL check should be added after the devm_kasprintf() to prevent potential NULL pointer dereference error. Fixes: 3772e5da44542 ("Aspeed LPC snoop output using misc chardev") Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com> --- drivers/soc/aspeed/aspeed-lpc-snoop.c | 2 ++ 1 file changed, 2 insertions(+)