ALSA: hdspm - prevent reading unitialized stack memory
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>
Wed, 23 Feb 2011 10:43:14 +0000 (11:43 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 23 Feb 2011 14:46:29 +0000 (15:46 +0100)
Original patch by Dan Rosenberg <drosenberg@vsecurity.com> under commit
e68d3b316ab7b02a074edc4f770e6a746390cb7d. I'm copying his text here:

The SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl in hdspm.c allow unprivileged
users to read uninitialized kernel stack memory, because several fields
of the hdspm_config struct declared on the stack are not altered
or zeroed before being copied back to the user.  This patch takes care
of it.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdspm.c

index 0b0293fb8f09b357670e8c73d0d534b85d9a6899..ced1406d777f3644ba3da58408db8805f9e21e78 100644 (file)
@@ -6081,6 +6081,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
 
        case SNDRV_HDSPM_IOCTL_GET_CONFIG:
 
+               memset(&info, 0, sizeof(info));
                spin_lock_irq(&hdspm->lock);
                info.pref_sync_ref = hdspm_pref_sync_ref(hdspm);
                info.wordclock_sync_check = hdspm_wc_sync_check(hdspm);