ALSA: ctl: Fix ioctls for X32 ABI
authorTakashi Iwai <tiwai@suse.de>
Sat, 27 Feb 2016 16:52:42 +0000 (17:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Mar 2016 23:33:26 +0000 (15:33 -0800)
commit82b7aa17e02b2da0d637573c45225dc0aaa9983c
tree9ad82ddd1d4e8d0d3461257d8acfeaf579564d4b
parent8e7c98f7ced6390020b2ce0fbe413359dbfa1601
ALSA: ctl: Fix ioctls for X32 ABI

commit 6236d8bb2afcfe71b88ecea554e0dc638090a45f upstream.

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>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/control_compat.c