Re: [PATCH] ASoc: PCM6240: Fix a null pointer dereference in pcmdevice_i2c_probe
From: Markus Elfring
Date: Fri Jun 14 2024 - 16:21:35 EST
> When devm_kzalloc return NULL,we return -ENOMEM directly to
This information fits to a coding style advice.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?h=v6.10-rc3#n532
> avoid a null pointer that call pcmdevice_remove which will
> perform some operations on the members of the pcm_dev;
You pointed in an improvable way out that the label “out” was questionable
after the assignment of a well-known error code at the beginning.
https://elixir.bootlin.com/linux/v6.10-rc3/source/sound/soc/codecs/pcm6240.c#L2077
Can a wording approach (like the following) be a better change description?
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.
Can a summary phrase like “Return directly after a failed devm_kzalloc()
in pcmdevice_i2c_probe()” be also helpful?
Regards,
Markus