IB/uverbs: Add ioctl support for 32bit processes
32 bit processes running on a 64 bit kernel call compat_ioctl so that implementations can revise any structure layout issues. Point compat_ioctl at our normal ioctl because: - All our structures are designed to be the same on 32 and 64 bit, ie we use __aligned_u64 when required and are careful to manage padding. - Any pointers are stored in u64's and userspace is expected to prepare them properly. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
5d2beb576d
commit
9dfb2ff400
|
@ -942,6 +942,7 @@ static const struct file_operations uverbs_fops = {
|
|||
.llseek = no_llseek,
|
||||
#if IS_ENABLED(CONFIG_INFINIBAND_EXP_USER_ACCESS)
|
||||
.unlocked_ioctl = ib_uverbs_ioctl,
|
||||
.compat_ioctl = ib_uverbs_ioctl,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -954,6 +955,7 @@ static const struct file_operations uverbs_mmap_fops = {
|
|||
.llseek = no_llseek,
|
||||
#if IS_ENABLED(CONFIG_INFINIBAND_EXP_USER_ACCESS)
|
||||
.unlocked_ioctl = ib_uverbs_ioctl,
|
||||
.compat_ioctl = ib_uverbs_ioctl,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue