compat_ioctl: move rfcomm handlers into driver
All these ioctl commands are compatible, so we can handle them with a trivial wrapper in rfcomm/sock.c and remove the listing in fs/compat_ioctl.c. Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
5565a3cac5
commit
7d60a7a6cd
|
@ -42,7 +42,6 @@
|
|||
|
||||
#include <net/bluetooth/bluetooth.h>
|
||||
#include <net/bluetooth/hci_sock.h>
|
||||
#include <net/bluetooth/rfcomm.h>
|
||||
|
||||
#ifdef CONFIG_BLOCK
|
||||
#include <linux/cdrom.h>
|
||||
|
@ -673,11 +672,6 @@ COMPATIBLE_IOCTL(HCIUARTGETPROTO)
|
|||
COMPATIBLE_IOCTL(HCIUARTGETDEVICE)
|
||||
COMPATIBLE_IOCTL(HCIUARTSETFLAGS)
|
||||
COMPATIBLE_IOCTL(HCIUARTGETFLAGS)
|
||||
COMPATIBLE_IOCTL(RFCOMMCREATEDEV)
|
||||
COMPATIBLE_IOCTL(RFCOMMRELEASEDEV)
|
||||
COMPATIBLE_IOCTL(RFCOMMGETDEVLIST)
|
||||
COMPATIBLE_IOCTL(RFCOMMGETDEVINFO)
|
||||
COMPATIBLE_IOCTL(RFCOMMSTEALDLC)
|
||||
/* Misc. */
|
||||
COMPATIBLE_IOCTL(PCIIOC_CONTROLLER)
|
||||
COMPATIBLE_IOCTL(PCIIOC_MMAP_IS_IO)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
/*
|
||||
* RFCOMM sockets.
|
||||
*/
|
||||
|
||||
#include <linux/compat.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/sched/signal.h>
|
||||
|
@ -909,6 +909,13 @@ static int rfcomm_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned lon
|
|||
return err;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static int rfcomm_sock_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
return rfcomm_sock_ioctl(sock, cmd, (unsigned long)compat_ptr(arg));
|
||||
}
|
||||
#endif
|
||||
|
||||
static int rfcomm_sock_shutdown(struct socket *sock, int how)
|
||||
{
|
||||
struct sock *sk = sock->sk;
|
||||
|
@ -1042,7 +1049,10 @@ static const struct proto_ops rfcomm_sock_ops = {
|
|||
.gettstamp = sock_gettstamp,
|
||||
.poll = bt_sock_poll,
|
||||
.socketpair = sock_no_socketpair,
|
||||
.mmap = sock_no_mmap
|
||||
.mmap = sock_no_mmap,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = rfcomm_sock_compat_ioctl,
|
||||
#endif
|
||||
};
|
||||
|
||||
static const struct net_proto_family rfcomm_sock_family_ops = {
|
||||
|
|
Loading…
Reference in New Issue