diff options
author | Takashi Iwai <tiwai@suse.de> | 2016-02-28 11:36:14 +0100 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2016-03-11 09:45:23 -0500 |
commit | 803c982725b28e0a50f11ddbb14fe2dbcc23eef2 (patch) | |
tree | c0677751851793743545305889c9e5e7208333f3 | |
parent | 58dff559bf681260612aef1e5943325be2117604 (diff) | |
download | linux-stable-803c982725b28e0a50f11ddbb14fe2dbcc23eef2.tar.gz linux-stable-803c982725b28e0a50f11ddbb14fe2dbcc23eef2.tar.bz2 linux-stable-803c982725b28e0a50f11ddbb14fe2dbcc23eef2.zip |
ALSA: timer: Fix broken compat timer user status ioctl
[ Upstream commit 3a72494ac2a3bd229db941d51e7efe2f6ccd947b ]
The timer user status compat ioctl returned the bogus struct used for
64bit architectures instead of the 32bit one. This patch addresses
it to return the proper struct.
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r-- | sound/core/timer_compat.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/core/timer_compat.c b/sound/core/timer_compat.c index e05802ae6e1b..8e7eddf35c6a 100644 --- a/sound/core/timer_compat.c +++ b/sound/core/timer_compat.c @@ -70,13 +70,14 @@ static int snd_timer_user_status_compat(struct file *file, struct snd_timer_status32 __user *_status) { struct snd_timer_user *tu; - struct snd_timer_status status; + struct snd_timer_status32 status; tu = file->private_data; if (snd_BUG_ON(!tu->timeri)) return -ENXIO; memset(&status, 0, sizeof(status)); - status.tstamp = tu->tstamp; + status.tstamp.tv_sec = tu->tstamp.tv_sec; + status.tstamp.tv_nsec = tu->tstamp.tv_nsec; status.resolution = snd_timer_resolution(tu->timeri); status.lost = tu->timeri->lost; status.overrun = tu->overrun; |