ALSA: ctl: Fix ioctls for X32 ABI
authorTakashi Iwai <tiwai@suse.de>
Sat, 27 Feb 2016 16:52:42 +0000 (17:52 +0100)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:12:17 +0000 (13:12 +0000)
commit966bc803b0edb4d216d2a57637fcd217ea32b0e8
treeea5fd005b59b3c326585dd3c495632a24c69ddec
parentab6b35ea0f4e3242479eb0d3f1139373cfbc0c78
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