mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
ALSA: pcm: oss: Return -ENODEV instead of -EFAULT in snd_pcm_oss_open()
When try_module_get() fails in snd_pcm_oss_open(), the owning module is
going away and the device is no longer usable, so -EFAULT ("bad address")
is the wrong error. Return -ENODEV, matching the other unavailable-device
paths in this function(the NULL pcm check and the card->shutdown check).
This changes the errno reported to userspace on this rare race.
No other behaviour changes.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260707084506.718583-6-phucduc.bui@gmail.com
This commit is contained in:
parent
fb0fb4b943
commit
d9468d5286
|
|
@ -2507,7 +2507,7 @@ static int snd_pcm_oss_open(struct inode *inode, struct file *file)
|
|||
if (err < 0)
|
||||
goto __error1;
|
||||
if (!try_module_get(pcm->card->module)) {
|
||||
err = -EFAULT;
|
||||
err = -ENODEV;
|
||||
goto __error2;
|
||||
}
|
||||
if (snd_task_name(current, task_name, sizeof(task_name)) < 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user