]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ALSA: info: Fix llseek return value when using callback
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Wed, 17 Aug 2022 12:49:24 +0000 (14:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:09:28 +0000 (11:09 +0200)
commit7bb985e57269fb8152c182619ecb61da36e6436d
tree87564b3bddb038d8ce67c43ba3eed53530bd60c0
parentd4efba5f29e9e1a8b717a781b560c3a667675b45
ALSA: info: Fix llseek return value when using callback

commit 9be080edcca330be4af06b19916c35227891e8bc upstream.

When using callback there was a flow of

ret = -EINVAL
if (callback) {
offset = callback();
goto out;
}
...
offset = some other value in case of no callback;
ret = offset;
out:
return ret;

which causes the snd_info_entry_llseek() to return -EINVAL when there is
callback handler. Fix this by setting "ret" directly to callback return
value before jumping to "out".

Fixes: 73029e0ff18d ("ALSA: info - Implement common llseek for binary mode")
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220817124924.3974577-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/info.c