Commit 232087cb authored by Pekka Enberg's avatar Pekka Enberg Committed by Steve French

cifs: don't use GFP_KERNEL with GFP_NOFS

GFP_KERNEL and GFP_NOFS are mutually exclusive. If you combine them, you end up
with plain GFP_KERNEL which can deadlock in cases where you really want
GFP_NOFS.

Cc: Steve French <sfrench@samba.org>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 388e57b2
...@@ -150,8 +150,7 @@ cifs_buf_get(void) ...@@ -150,8 +150,7 @@ cifs_buf_get(void)
but it may be more efficient to always alloc same size but it may be more efficient to always alloc same size
albeit slightly larger than necessary and maxbuffersize albeit slightly larger than necessary and maxbuffersize
defaults to this and can not be bigger */ defaults to this and can not be bigger */
ret_buf = (struct smb_hdr *) mempool_alloc(cifs_req_poolp, ret_buf = mempool_alloc(cifs_req_poolp, GFP_NOFS);
GFP_KERNEL | GFP_NOFS);
/* clear the first few header bytes */ /* clear the first few header bytes */
/* for most paths, more is cleared in header_assemble */ /* for most paths, more is cleared in header_assemble */
...@@ -188,8 +187,7 @@ cifs_small_buf_get(void) ...@@ -188,8 +187,7 @@ cifs_small_buf_get(void)
but it may be more efficient to always alloc same size but it may be more efficient to always alloc same size
albeit slightly larger than necessary and maxbuffersize albeit slightly larger than necessary and maxbuffersize
defaults to this and can not be bigger */ defaults to this and can not be bigger */
ret_buf = (struct smb_hdr *) mempool_alloc(cifs_sm_req_poolp, ret_buf = mempool_alloc(cifs_sm_req_poolp, GFP_NOFS);
GFP_KERNEL | GFP_NOFS);
if (ret_buf) { if (ret_buf) {
/* No need to clear memory here, cleared in header assemble */ /* No need to clear memory here, cleared in header assemble */
/* memset(ret_buf, 0, sizeof(struct smb_hdr) + 27);*/ /* memset(ret_buf, 0, sizeof(struct smb_hdr) + 27);*/
......
...@@ -50,8 +50,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct cifsSesInfo *ses) ...@@ -50,8 +50,7 @@ AllocMidQEntry(const struct smb_hdr *smb_buffer, struct cifsSesInfo *ses)
return NULL; return NULL;
} }
temp = (struct mid_q_entry *) mempool_alloc(cifs_mid_poolp, temp = mempool_alloc(cifs_mid_poolp, GFP_NOFS);
GFP_KERNEL | GFP_NOFS);
if (temp == NULL) if (temp == NULL)
return temp; return temp;
else { else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment