diff options
author | Dan Williams <dan.j.williams@intel.com> | 2017-04-12 21:59:01 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-04-12 21:59:01 -0700 |
commit | bfca9acf1a5df0ff98fbf47e363adb48612bb7ec (patch) | |
tree | a50287c88fdc60a73912d205d7bce41b7af53827 /net/ceph/messenger.c | |
parent | 92a3fa075d3d2716b9c662814540f1d660cbf2f5 (diff) | |
parent | 11e63f6d920d6f2dfd3cd421e939a4aec9a58dcd (diff) | |
download | linux-bfca9acf1a5df0ff98fbf47e363adb48612bb7ec.tar.bz2 |
Merge branch 'for-4.11/libnvdimm' into for-4.12/dax
Diffstat (limited to 'net/ceph/messenger.c')
-rw-r--r-- | net/ceph/messenger.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 38dcf1eb427d..f76bb3332613 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -7,6 +7,7 @@ #include <linux/kthread.h> #include <linux/net.h> #include <linux/nsproxy.h> +#include <linux/sched/mm.h> #include <linux/slab.h> #include <linux/socket.h> #include <linux/string.h> @@ -469,11 +470,16 @@ static int ceph_tcp_connect(struct ceph_connection *con) { struct sockaddr_storage *paddr = &con->peer_addr.in_addr; struct socket *sock; + unsigned int noio_flag; int ret; BUG_ON(con->sock); + + /* sock_create_kern() allocates with GFP_KERNEL */ + noio_flag = memalloc_noio_save(); ret = sock_create_kern(read_pnet(&con->msgr->net), paddr->ss_family, SOCK_STREAM, IPPROTO_TCP, &sock); + memalloc_noio_restore(noio_flag); if (ret) return ret; sock->sk->sk_allocation = GFP_NOFS; |