mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
firmware: cs_dsp: Remove __free() from cs_dsp_debugfs_string_read()
Don't use __free(kfree) in cs_dsp_debugfs_string_read. Instead use
normal kfree() to cleanup.
The use of __free() can create new cleanup bugs that are difficult to spot
because the defective code is idiomatically correct regular C. This
function used the suspect declaration __free(kfree) = NULL;.
The __free(kfree) didn't really do anything here. The function can be
rearranged to avoid any need to return or goto within the code.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 3045e29d24 ("firmware: cs_dsp: Append \n to debugfs string during read")
Link: https://patch.msgid.link/20251202113425.413700-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
69927c13d5
commit
7a9fa7fda9
|
|
@ -375,18 +375,23 @@ static ssize_t cs_dsp_debugfs_string_read(struct cs_dsp *dsp,
|
|||
size_t count, loff_t *ppos,
|
||||
const char **pstr)
|
||||
{
|
||||
const char *str __free(kfree) = NULL;
|
||||
const char *str;
|
||||
ssize_t ret = 0;
|
||||
|
||||
scoped_guard(mutex, &dsp->pwr_lock) {
|
||||
if (!*pstr)
|
||||
return 0;
|
||||
|
||||
str = kasprintf(GFP_KERNEL, "%s\n", *pstr);
|
||||
if (!str)
|
||||
return -ENOMEM;
|
||||
|
||||
return simple_read_from_buffer(user_buf, count, ppos, str, strlen(str));
|
||||
if (*pstr) {
|
||||
str = kasprintf(GFP_KERNEL, "%s\n", *pstr);
|
||||
if (str) {
|
||||
ret = simple_read_from_buffer(user_buf, count,
|
||||
ppos, str, strlen(str));
|
||||
kfree(str);
|
||||
} else {
|
||||
ret = -ENOMEM;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t cs_dsp_debugfs_wmfw_read(struct file *file,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user