diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-04 16:57:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-04 16:57:43 -0400 |
commit | 408afb8d7847faea115508ba154346e33edfc7d5 (patch) | |
tree | 9b558f8477d7400ad5e8849c2624471915654ade /crypto | |
parent | b058efc1acfd99027b4c70458e72c3d20a1a5bbc (diff) | |
parent | 1da92779e2e8f309d5aecbbed346e7f812b174e8 (diff) |
Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull aio updates from Al Viro:
"Majority of AIO stuff this cycle. aio-fsync and aio-poll, mostly.
The only thing I'm holding back for a day or so is Adam's aio ioprio -
his last-minute fixup is trivial (missing stub in !CONFIG_BLOCK case),
but let it sit in -next for decency sake..."
* 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
aio: sanitize the limit checking in io_submit(2)
aio: fold do_io_submit() into callers
aio: shift copyin of iocb into io_submit_one()
aio_read_events_ring(): make a bit more readable
aio: all callers of aio_{read,write,fsync,poll} treat 0 and -EIOCBQUEUED the same way
aio: take list removal to (some) callers of aio_complete()
aio: add missing break for the IOCB_CMD_FDSYNC case
random: convert to ->poll_mask
timerfd: convert to ->poll_mask
eventfd: switch to ->poll_mask
pipe: convert to ->poll_mask
crypto: af_alg: convert to ->poll_mask
net/rxrpc: convert to ->poll_mask
net/iucv: convert to ->poll_mask
net/phonet: convert to ->poll_mask
net/nfc: convert to ->poll_mask
net/caif: convert to ->poll_mask
net/bluetooth: convert to ->poll_mask
net/sctp: convert to ->poll_mask
net/tipc: convert to ->poll_mask
...
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/af_alg.c | 14 | ||||
-rw-r--r-- | crypto/algif_aead.c | 4 | ||||
-rw-r--r-- | crypto/algif_hash.c | 2 | ||||
-rw-r--r-- | crypto/algif_rng.c | 1 | ||||
-rw-r--r-- | crypto/algif_skcipher.c | 4 |
5 files changed, 7 insertions, 18 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c index 7846c0c20cfe..89ed613c017e 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c | |||
@@ -347,7 +347,6 @@ static const struct proto_ops alg_proto_ops = { | |||
347 | .sendpage = sock_no_sendpage, | 347 | .sendpage = sock_no_sendpage, |
348 | .sendmsg = sock_no_sendmsg, | 348 | .sendmsg = sock_no_sendmsg, |
349 | .recvmsg = sock_no_recvmsg, | 349 | .recvmsg = sock_no_recvmsg, |
350 | .poll = sock_no_poll, | ||
351 | 350 | ||
352 | .bind = alg_bind, | 351 | .bind = alg_bind, |
353 | .release = af_alg_release, | 352 | .release = af_alg_release, |
@@ -1061,19 +1060,12 @@ void af_alg_async_cb(struct crypto_async_request *_req, int err) | |||
1061 | } | 1060 | } |
1062 | EXPORT_SYMBOL_GPL(af_alg_async_cb); | 1061 | EXPORT_SYMBOL_GPL(af_alg_async_cb); |
1063 | 1062 | ||
1064 | /** | 1063 | __poll_t af_alg_poll_mask(struct socket *sock, __poll_t events) |
1065 | * af_alg_poll - poll system call handler | ||
1066 | */ | ||
1067 | __poll_t af_alg_poll(struct file *file, struct socket *sock, | ||
1068 | poll_table *wait) | ||
1069 | { | 1064 | { |
1070 | struct sock *sk = sock->sk; | 1065 | struct sock *sk = sock->sk; |
1071 | struct alg_sock *ask = alg_sk(sk); | 1066 | struct alg_sock *ask = alg_sk(sk); |
1072 | struct af_alg_ctx *ctx = ask->private; | 1067 | struct af_alg_ctx *ctx = ask->private; |
1073 | __poll_t mask; | 1068 | __poll_t mask = 0; |
1074 | |||
1075 | sock_poll_wait(file, sk_sleep(sk), wait); | ||
1076 | mask = 0; | ||
1077 | 1069 | ||
1078 | if (!ctx->more || ctx->used) | 1070 | if (!ctx->more || ctx->used) |
1079 | mask |= EPOLLIN | EPOLLRDNORM; | 1071 | mask |= EPOLLIN | EPOLLRDNORM; |
@@ -1083,7 +1075,7 @@ __poll_t af_alg_poll(struct file *file, struct socket *sock, | |||
1083 | 1075 | ||
1084 | return mask; | 1076 | return mask; |
1085 | } | 1077 | } |
1086 | EXPORT_SYMBOL_GPL(af_alg_poll); | 1078 | EXPORT_SYMBOL_GPL(af_alg_poll_mask); |
1087 | 1079 | ||
1088 | /** | 1080 | /** |
1089 | * af_alg_alloc_areq - allocate struct af_alg_async_req | 1081 | * af_alg_alloc_areq - allocate struct af_alg_async_req |
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c index 4b07edd5a9ff..330cf9f2b767 100644 --- a/crypto/algif_aead.c +++ b/crypto/algif_aead.c | |||
@@ -375,7 +375,7 @@ static struct proto_ops algif_aead_ops = { | |||
375 | .sendmsg = aead_sendmsg, | 375 | .sendmsg = aead_sendmsg, |
376 | .sendpage = af_alg_sendpage, | 376 | .sendpage = af_alg_sendpage, |
377 | .recvmsg = aead_recvmsg, | 377 | .recvmsg = aead_recvmsg, |
378 | .poll = af_alg_poll, | 378 | .poll_mask = af_alg_poll_mask, |
379 | }; | 379 | }; |
380 | 380 | ||
381 | static int aead_check_key(struct socket *sock) | 381 | static int aead_check_key(struct socket *sock) |
@@ -471,7 +471,7 @@ static struct proto_ops algif_aead_ops_nokey = { | |||
471 | .sendmsg = aead_sendmsg_nokey, | 471 | .sendmsg = aead_sendmsg_nokey, |
472 | .sendpage = aead_sendpage_nokey, | 472 | .sendpage = aead_sendpage_nokey, |
473 | .recvmsg = aead_recvmsg_nokey, | 473 | .recvmsg = aead_recvmsg_nokey, |
474 | .poll = af_alg_poll, | 474 | .poll_mask = af_alg_poll_mask, |
475 | }; | 475 | }; |
476 | 476 | ||
477 | static void *aead_bind(const char *name, u32 type, u32 mask) | 477 | static void *aead_bind(const char *name, u32 type, u32 mask) |
diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c index 6c9b1927a520..bfcf595fd8f9 100644 --- a/crypto/algif_hash.c +++ b/crypto/algif_hash.c | |||
@@ -288,7 +288,6 @@ static struct proto_ops algif_hash_ops = { | |||
288 | .mmap = sock_no_mmap, | 288 | .mmap = sock_no_mmap, |
289 | .bind = sock_no_bind, | 289 | .bind = sock_no_bind, |
290 | .setsockopt = sock_no_setsockopt, | 290 | .setsockopt = sock_no_setsockopt, |
291 | .poll = sock_no_poll, | ||
292 | 291 | ||
293 | .release = af_alg_release, | 292 | .release = af_alg_release, |
294 | .sendmsg = hash_sendmsg, | 293 | .sendmsg = hash_sendmsg, |
@@ -396,7 +395,6 @@ static struct proto_ops algif_hash_ops_nokey = { | |||
396 | .mmap = sock_no_mmap, | 395 | .mmap = sock_no_mmap, |
397 | .bind = sock_no_bind, | 396 | .bind = sock_no_bind, |
398 | .setsockopt = sock_no_setsockopt, | 397 | .setsockopt = sock_no_setsockopt, |
399 | .poll = sock_no_poll, | ||
400 | 398 | ||
401 | .release = af_alg_release, | 399 | .release = af_alg_release, |
402 | .sendmsg = hash_sendmsg_nokey, | 400 | .sendmsg = hash_sendmsg_nokey, |
diff --git a/crypto/algif_rng.c b/crypto/algif_rng.c index 150c2b6480ed..22df3799a17b 100644 --- a/crypto/algif_rng.c +++ b/crypto/algif_rng.c | |||
@@ -106,7 +106,6 @@ static struct proto_ops algif_rng_ops = { | |||
106 | .bind = sock_no_bind, | 106 | .bind = sock_no_bind, |
107 | .accept = sock_no_accept, | 107 | .accept = sock_no_accept, |
108 | .setsockopt = sock_no_setsockopt, | 108 | .setsockopt = sock_no_setsockopt, |
109 | .poll = sock_no_poll, | ||
110 | .sendmsg = sock_no_sendmsg, | 109 | .sendmsg = sock_no_sendmsg, |
111 | .sendpage = sock_no_sendpage, | 110 | .sendpage = sock_no_sendpage, |
112 | 111 | ||
diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c index c4e885df4564..15cf3c5222e0 100644 --- a/crypto/algif_skcipher.c +++ b/crypto/algif_skcipher.c | |||
@@ -205,7 +205,7 @@ static struct proto_ops algif_skcipher_ops = { | |||
205 | .sendmsg = skcipher_sendmsg, | 205 | .sendmsg = skcipher_sendmsg, |
206 | .sendpage = af_alg_sendpage, | 206 | .sendpage = af_alg_sendpage, |
207 | .recvmsg = skcipher_recvmsg, | 207 | .recvmsg = skcipher_recvmsg, |
208 | .poll = af_alg_poll, | 208 | .poll_mask = af_alg_poll_mask, |
209 | }; | 209 | }; |
210 | 210 | ||
211 | static int skcipher_check_key(struct socket *sock) | 211 | static int skcipher_check_key(struct socket *sock) |
@@ -301,7 +301,7 @@ static struct proto_ops algif_skcipher_ops_nokey = { | |||
301 | .sendmsg = skcipher_sendmsg_nokey, | 301 | .sendmsg = skcipher_sendmsg_nokey, |
302 | .sendpage = skcipher_sendpage_nokey, | 302 | .sendpage = skcipher_sendpage_nokey, |
303 | .recvmsg = skcipher_recvmsg_nokey, | 303 | .recvmsg = skcipher_recvmsg_nokey, |
304 | .poll = af_alg_poll, | 304 | .poll_mask = af_alg_poll_mask, |
305 | }; | 305 | }; |
306 | 306 | ||
307 | static void *skcipher_bind(const char *name, u32 type, u32 mask) | 307 | static void *skcipher_bind(const char *name, u32 type, u32 mask) |