Unverified Commit 3722873d authored by Hao Ge's avatar Hao Ge Committed by Mark Brown
Browse files

ASoc: PCM6240: Return directly after a failed devm_kzalloc() in pcmdevice_i2c_probe()



The value “-ENOMEM” was assigned to the local variable “ret”
in one if branch after a devm_kzalloc() call failed at the beginning.
This error code will trigger then a pcmdevice_remove() call with a passed
null pointer so that an undesirable dereference will be performed.
Thus return the appropriate error code directly.

Fixes: 1324eafd ("ASoc: PCM6240: Create PCM6240 Family driver code")
Signed-off-by: default avatarHao Ge <gehao@kylinos.cn>
Link: https://patch.msgid.link/20240617020954.17252-1-hao.ge@linux.dev


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8978e1f7
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2087,10 +2087,8 @@ static int pcmdevice_i2c_probe(struct i2c_client *i2c)
#endif

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

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