[PATCH 4.19 38/58] ALSA: opl3: fix infoleak in opl3

From: Greg Kroah-Hartman
Date: Tue Jul 14 2020 - 14:47:19 EST


From: xidongwang <wangxidong_97@xxxxxxx>

commit ad155712bb1ea2151944cf06a0e08c315c70c1e3 upstream.

The stack object âinfoâ in snd_opl3_ioctl() has a leaking problem.
It has 2 padding bytes which are not initialized and leaked via
âcopy_to_userâ.

Signed-off-by: xidongwang <wangxidong_97@xxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/1594006058-30362-1-git-send-email-wangxidong_97@xxxxxxx
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
sound/drivers/opl3/opl3_synth.c | 2 ++
1 file changed, 2 insertions(+)

--- a/sound/drivers/opl3/opl3_synth.c
+++ b/sound/drivers/opl3/opl3_synth.c
@@ -105,6 +105,8 @@ int snd_opl3_ioctl(struct snd_hwdep * hw
{
struct snd_dm_fm_info info;

+ memset(&info, 0, sizeof(info));
+
info.fm_mode = opl3->fm_mode;
info.rhythm = opl3->rhythm;
if (copy_to_user(argp, &info, sizeof(struct snd_dm_fm_info)))