[PATCH] ASoc: PCM6240: Fix a null pointer dereference in pcmdevice_i2c_probe

From: Hao Ge
Date: Thu Jun 13 2024 - 22:42:32 EST


From: Hao Ge <gehao@xxxxxxxxxx>

When devm_kzalloc return NULL,we return -ENOMEM directly to
avoid a null pointer that call pcmdevice_remove which will
perform some operations on the members of the pcm_dev;

Fixes: 1324eafd37aa ("ASoc: PCM6240: Create PCM6240 Family driver code")
Signed-off-by: Hao Ge <gehao@xxxxxxxxxx>
---
sound/soc/codecs/pcm6240.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sound/soc/codecs/pcm6240.c b/sound/soc/codecs/pcm6240.c
index 86e126783a1d..d3adcea457a2 100644
--- a/sound/soc/codecs/pcm6240.c
+++ b/sound/soc/codecs/pcm6240.c
@@ -2088,8 +2088,7 @@ static int pcmdevice_i2c_probe(struct i2c_client *i2c)

pcm_dev = devm_kzalloc(&i2c->dev, sizeof(*pcm_dev), GFP_KERNEL);
if (!pcm_dev) {
- ret = -ENOMEM;
- goto out;
+ return -ENOMEM;
}

pcm_dev->chip_id = (id != NULL) ? id->driver_data : 0;
--
2.25.1