diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/crypto/if_alg.h | 3 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/net.h | 1 | ||||
-rw-r--r-- | include/linux/poll.h | 12 | ||||
-rw-r--r-- | include/linux/skbuff.h | 3 | ||||
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 2 | ||||
-rw-r--r-- | include/net/iucv/af_iucv.h | 2 | ||||
-rw-r--r-- | include/net/sctp/sctp.h | 3 | ||||
-rw-r--r-- | include/net/tcp.h | 3 | ||||
-rw-r--r-- | include/net/tls.h | 6 | ||||
-rw-r--r-- | include/net/udp.h | 2 | ||||
-rw-r--r-- | include/uapi/linux/aio_abi.h | 8 |
12 files changed, 27 insertions, 20 deletions
diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h index cc414db9da0a..482461d8931d 100644 --- a/include/crypto/if_alg.h +++ b/include/crypto/if_alg.h | |||
@@ -245,7 +245,8 @@ ssize_t af_alg_sendpage(struct socket *sock, struct page *page, | |||
245 | int offset, size_t size, int flags); | 245 | int offset, size_t size, int flags); |
246 | void af_alg_free_resources(struct af_alg_async_req *areq); | 246 | void af_alg_free_resources(struct af_alg_async_req *areq); |
247 | void af_alg_async_cb(struct crypto_async_request *_req, int err); | 247 | void af_alg_async_cb(struct crypto_async_request *_req, int err); |
248 | __poll_t af_alg_poll_mask(struct socket *sock, __poll_t events); | 248 | __poll_t af_alg_poll(struct file *file, struct socket *sock, |
249 | poll_table *wait); | ||
249 | struct af_alg_async_req *af_alg_alloc_areq(struct sock *sk, | 250 | struct af_alg_async_req *af_alg_alloc_areq(struct sock *sk, |
250 | unsigned int areqlen); | 251 | unsigned int areqlen); |
251 | int af_alg_get_rsgl(struct sock *sk, struct msghdr *msg, int flags, | 252 | int af_alg_get_rsgl(struct sock *sk, struct msghdr *msg, int flags, |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 5c91108846db..d78d146a98da 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1720,8 +1720,6 @@ struct file_operations { | |||
1720 | int (*iterate) (struct file *, struct dir_context *); | 1720 | int (*iterate) (struct file *, struct dir_context *); |
1721 | int (*iterate_shared) (struct file *, struct dir_context *); | 1721 | int (*iterate_shared) (struct file *, struct dir_context *); |
1722 | __poll_t (*poll) (struct file *, struct poll_table_struct *); | 1722 | __poll_t (*poll) (struct file *, struct poll_table_struct *); |
1723 | struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t); | ||
1724 | __poll_t (*poll_mask) (struct file *, __poll_t); | ||
1725 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 1723 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
1726 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); | 1724 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
1727 | int (*mmap) (struct file *, struct vm_area_struct *); | 1725 | int (*mmap) (struct file *, struct vm_area_struct *); |
diff --git a/include/linux/net.h b/include/linux/net.h index 08b6eb964dd6..6554d3ba4396 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -147,7 +147,6 @@ struct proto_ops { | |||
147 | int (*getname) (struct socket *sock, | 147 | int (*getname) (struct socket *sock, |
148 | struct sockaddr *addr, | 148 | struct sockaddr *addr, |
149 | int peer); | 149 | int peer); |
150 | __poll_t (*poll_mask) (struct socket *sock, __poll_t events); | ||
151 | __poll_t (*poll) (struct file *file, struct socket *sock, | 150 | __poll_t (*poll) (struct file *file, struct socket *sock, |
152 | struct poll_table_struct *wait); | 151 | struct poll_table_struct *wait); |
153 | int (*ioctl) (struct socket *sock, unsigned int cmd, | 152 | int (*ioctl) (struct socket *sock, unsigned int cmd, |
diff --git a/include/linux/poll.h b/include/linux/poll.h index fdf86b4cbc71..7e0fdcf905d2 100644 --- a/include/linux/poll.h +++ b/include/linux/poll.h | |||
@@ -74,18 +74,18 @@ static inline void init_poll_funcptr(poll_table *pt, poll_queue_proc qproc) | |||
74 | pt->_key = ~(__poll_t)0; /* all events enabled */ | 74 | pt->_key = ~(__poll_t)0; /* all events enabled */ |
75 | } | 75 | } |
76 | 76 | ||
77 | static inline bool file_has_poll_mask(struct file *file) | 77 | static inline bool file_can_poll(struct file *file) |
78 | { | 78 | { |
79 | return file->f_op->get_poll_head && file->f_op->poll_mask; | 79 | return file->f_op->poll; |
80 | } | 80 | } |
81 | 81 | ||
82 | static inline bool file_can_poll(struct file *file) | 82 | static inline __poll_t vfs_poll(struct file *file, struct poll_table_struct *pt) |
83 | { | 83 | { |
84 | return file->f_op->poll || file_has_poll_mask(file); | 84 | if (unlikely(!file->f_op->poll)) |
85 | return DEFAULT_POLLMASK; | ||
86 | return file->f_op->poll(file, pt); | ||
85 | } | 87 | } |
86 | 88 | ||
87 | __poll_t vfs_poll(struct file *file, struct poll_table_struct *pt); | ||
88 | |||
89 | struct poll_table_entry { | 89 | struct poll_table_entry { |
90 | struct file *filp; | 90 | struct file *filp; |
91 | __poll_t key; | 91 | __poll_t key; |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index c86885954994..164cdedf6012 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -3252,7 +3252,8 @@ struct sk_buff *__skb_recv_datagram(struct sock *sk, unsigned flags, | |||
3252 | int *peeked, int *off, int *err); | 3252 | int *peeked, int *off, int *err); |
3253 | struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, int noblock, | 3253 | struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, int noblock, |
3254 | int *err); | 3254 | int *err); |
3255 | __poll_t datagram_poll_mask(struct socket *sock, __poll_t events); | 3255 | __poll_t datagram_poll(struct file *file, struct socket *sock, |
3256 | struct poll_table_struct *wait); | ||
3256 | int skb_copy_datagram_iter(const struct sk_buff *from, int offset, | 3257 | int skb_copy_datagram_iter(const struct sk_buff *from, int offset, |
3257 | struct iov_iter *to, int size); | 3258 | struct iov_iter *to, int size); |
3258 | static inline int skb_copy_datagram_msg(const struct sk_buff *from, int offset, | 3259 | static inline int skb_copy_datagram_msg(const struct sk_buff *from, int offset, |
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 53ce8176c313..ec9d6bc65855 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -271,7 +271,7 @@ int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, | |||
271 | int flags); | 271 | int flags); |
272 | int bt_sock_stream_recvmsg(struct socket *sock, struct msghdr *msg, | 272 | int bt_sock_stream_recvmsg(struct socket *sock, struct msghdr *msg, |
273 | size_t len, int flags); | 273 | size_t len, int flags); |
274 | __poll_t bt_sock_poll_mask(struct socket *sock, __poll_t events); | 274 | __poll_t bt_sock_poll(struct file *file, struct socket *sock, poll_table *wait); |
275 | int bt_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); | 275 | int bt_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); |
276 | int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo); | 276 | int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo); |
277 | int bt_sock_wait_ready(struct sock *sk, unsigned long flags); | 277 | int bt_sock_wait_ready(struct sock *sk, unsigned long flags); |
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index b0eaeb02d46d..f4c21b5a1242 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h | |||
@@ -153,6 +153,8 @@ struct iucv_sock_list { | |||
153 | atomic_t autobind_name; | 153 | atomic_t autobind_name; |
154 | }; | 154 | }; |
155 | 155 | ||
156 | __poll_t iucv_sock_poll(struct file *file, struct socket *sock, | ||
157 | poll_table *wait); | ||
156 | void iucv_sock_link(struct iucv_sock_list *l, struct sock *s); | 158 | void iucv_sock_link(struct iucv_sock_list *l, struct sock *s); |
157 | void iucv_sock_unlink(struct iucv_sock_list *l, struct sock *s); | 159 | void iucv_sock_unlink(struct iucv_sock_list *l, struct sock *s); |
158 | void iucv_accept_enqueue(struct sock *parent, struct sock *sk); | 160 | void iucv_accept_enqueue(struct sock *parent, struct sock *sk); |
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 30b3e2fe240a..8c2caa370e0f 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -109,7 +109,8 @@ int sctp_backlog_rcv(struct sock *sk, struct sk_buff *skb); | |||
109 | int sctp_inet_listen(struct socket *sock, int backlog); | 109 | int sctp_inet_listen(struct socket *sock, int backlog); |
110 | void sctp_write_space(struct sock *sk); | 110 | void sctp_write_space(struct sock *sk); |
111 | void sctp_data_ready(struct sock *sk); | 111 | void sctp_data_ready(struct sock *sk); |
112 | __poll_t sctp_poll_mask(struct socket *sock, __poll_t events); | 112 | __poll_t sctp_poll(struct file *file, struct socket *sock, |
113 | poll_table *wait); | ||
113 | void sctp_sock_rfree(struct sk_buff *skb); | 114 | void sctp_sock_rfree(struct sk_buff *skb); |
114 | void sctp_copy_sock(struct sock *newsk, struct sock *sk, | 115 | void sctp_copy_sock(struct sock *newsk, struct sock *sk, |
115 | struct sctp_association *asoc); | 116 | struct sctp_association *asoc); |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 0448e7c5d2b4..800582b5dd54 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -388,7 +388,8 @@ bool tcp_peer_is_proven(struct request_sock *req, struct dst_entry *dst); | |||
388 | void tcp_close(struct sock *sk, long timeout); | 388 | void tcp_close(struct sock *sk, long timeout); |
389 | void tcp_init_sock(struct sock *sk); | 389 | void tcp_init_sock(struct sock *sk); |
390 | void tcp_init_transfer(struct sock *sk, int bpf_op); | 390 | void tcp_init_transfer(struct sock *sk, int bpf_op); |
391 | __poll_t tcp_poll_mask(struct socket *sock, __poll_t events); | 391 | __poll_t tcp_poll(struct file *file, struct socket *sock, |
392 | struct poll_table_struct *wait); | ||
392 | int tcp_getsockopt(struct sock *sk, int level, int optname, | 393 | int tcp_getsockopt(struct sock *sk, int level, int optname, |
393 | char __user *optval, int __user *optlen); | 394 | char __user *optval, int __user *optlen); |
394 | int tcp_setsockopt(struct sock *sk, int level, int optname, | 395 | int tcp_setsockopt(struct sock *sk, int level, int optname, |
diff --git a/include/net/tls.h b/include/net/tls.h index 7f84ea3e217c..70c273777fe9 100644 --- a/include/net/tls.h +++ b/include/net/tls.h | |||
@@ -109,7 +109,8 @@ struct tls_sw_context_rx { | |||
109 | 109 | ||
110 | struct strparser strp; | 110 | struct strparser strp; |
111 | void (*saved_data_ready)(struct sock *sk); | 111 | void (*saved_data_ready)(struct sock *sk); |
112 | __poll_t (*sk_poll_mask)(struct socket *sock, __poll_t events); | 112 | unsigned int (*sk_poll)(struct file *file, struct socket *sock, |
113 | struct poll_table_struct *wait); | ||
113 | struct sk_buff *recv_pkt; | 114 | struct sk_buff *recv_pkt; |
114 | u8 control; | 115 | u8 control; |
115 | bool decrypted; | 116 | bool decrypted; |
@@ -224,7 +225,8 @@ void tls_sw_free_resources_tx(struct sock *sk); | |||
224 | void tls_sw_free_resources_rx(struct sock *sk); | 225 | void tls_sw_free_resources_rx(struct sock *sk); |
225 | int tls_sw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, | 226 | int tls_sw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, |
226 | int nonblock, int flags, int *addr_len); | 227 | int nonblock, int flags, int *addr_len); |
227 | __poll_t tls_sw_poll_mask(struct socket *sock, __poll_t events); | 228 | unsigned int tls_sw_poll(struct file *file, struct socket *sock, |
229 | struct poll_table_struct *wait); | ||
228 | ssize_t tls_sw_splice_read(struct socket *sock, loff_t *ppos, | 230 | ssize_t tls_sw_splice_read(struct socket *sock, loff_t *ppos, |
229 | struct pipe_inode_info *pipe, | 231 | struct pipe_inode_info *pipe, |
230 | size_t len, unsigned int flags); | 232 | size_t len, unsigned int flags); |
diff --git a/include/net/udp.h b/include/net/udp.h index b1ea8b0f5e6a..81afdacd4fff 100644 --- a/include/net/udp.h +++ b/include/net/udp.h | |||
@@ -285,7 +285,7 @@ int udp_init_sock(struct sock *sk); | |||
285 | int udp_pre_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len); | 285 | int udp_pre_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len); |
286 | int __udp_disconnect(struct sock *sk, int flags); | 286 | int __udp_disconnect(struct sock *sk, int flags); |
287 | int udp_disconnect(struct sock *sk, int flags); | 287 | int udp_disconnect(struct sock *sk, int flags); |
288 | __poll_t udp_poll_mask(struct socket *sock, __poll_t events); | 288 | __poll_t udp_poll(struct file *file, struct socket *sock, poll_table *wait); |
289 | struct sk_buff *skb_udp_tunnel_segment(struct sk_buff *skb, | 289 | struct sk_buff *skb_udp_tunnel_segment(struct sk_buff *skb, |
290 | netdev_features_t features, | 290 | netdev_features_t features, |
291 | bool is_ipv6); | 291 | bool is_ipv6); |
diff --git a/include/uapi/linux/aio_abi.h b/include/uapi/linux/aio_abi.h index d00221345c19..d4e768d55d14 100644 --- a/include/uapi/linux/aio_abi.h +++ b/include/uapi/linux/aio_abi.h | |||
@@ -39,8 +39,10 @@ enum { | |||
39 | IOCB_CMD_PWRITE = 1, | 39 | IOCB_CMD_PWRITE = 1, |
40 | IOCB_CMD_FSYNC = 2, | 40 | IOCB_CMD_FSYNC = 2, |
41 | IOCB_CMD_FDSYNC = 3, | 41 | IOCB_CMD_FDSYNC = 3, |
42 | /* 4 was the experimental IOCB_CMD_PREADX */ | 42 | /* These two are experimental. |
43 | IOCB_CMD_POLL = 5, | 43 | * IOCB_CMD_PREADX = 4, |
44 | * IOCB_CMD_POLL = 5, | ||
45 | */ | ||
44 | IOCB_CMD_NOOP = 6, | 46 | IOCB_CMD_NOOP = 6, |
45 | IOCB_CMD_PREADV = 7, | 47 | IOCB_CMD_PREADV = 7, |
46 | IOCB_CMD_PWRITEV = 8, | 48 | IOCB_CMD_PWRITEV = 8, |
@@ -109,7 +111,7 @@ struct iocb { | |||
109 | #undef IFLITTLE | 111 | #undef IFLITTLE |
110 | 112 | ||
111 | struct __aio_sigset { | 113 | struct __aio_sigset { |
112 | const sigset_t __user *sigmask; | 114 | sigset_t __user *sigmask; |
113 | size_t sigsetsize; | 115 | size_t sigsetsize; |
114 | }; | 116 | }; |
115 | 117 | ||