ALSA: ctl: Fix ioctls for X32 ABI
authorTakashi Iwai <tiwai@suse.de>
Sat, 27 Feb 2016 16:52:42 +0000 (17:52 +0100)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 9 Mar 2016 18:15:14 +0000 (13:15 -0500)
commit3aa7c24c31ee77017718dea1e4e43a2cbc969b53
treebd78d01012b82430f58c83ab1ff525e4d2b8960c
parent1590808b43559d8330599158453f28f1b16ffd54
ALSA: ctl: Fix ioctls for X32 ABI

[ Upstream commit 6236d8bb2afcfe71b88ecea554e0dc638090a45f ]

The X32 ABI takes the same alignment like x86-64, and this may result
in the incompatible struct size from ia32.  Unfortunately, we hit this
in some control ABI: struct snd_ctl_elem_value differs between them
due to the position of 64bit variable array.  This ends up with the
unknown ioctl (ENOTTY) error.

The fix is to add the compat entries for the new aligned struct.

Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
Cc: <stable@vger.kernel.org> # v3.4+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
sound/core/control_compat.c