summaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@netapp.com>2012-10-23 16:43:43 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-11-04 20:43:42 +0100
commitb8a13d039cbf7aec3b486fc0ae3996a5449afed2 (patch)
tree50a84f56c785e8d73322e90317d6c9d3f895a6fe /net/sunrpc
parentSUNRPC: remove BUG_ON in xdr_shrink_bufhead (diff)
downloadlinux-b8a13d039cbf7aec3b486fc0ae3996a5449afed2.tar.xz
linux-b8a13d039cbf7aec3b486fc0ae3996a5449afed2.zip
SUNRPC: remove BUG_ON from bc_malloc
Replace BUG_ON() with WARN_ON_ONCE() and NULL return - the caller will handle this like a memory allocation failure. Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/xprtsock.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 46c1a8798ed8..6db26e5538fb 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -2330,9 +2330,11 @@ static void *bc_malloc(struct rpc_task *task, size_t size)
struct page *page;
struct rpc_buffer *buf;
- BUG_ON(size > PAGE_SIZE - sizeof(struct rpc_buffer));
- page = alloc_page(GFP_KERNEL);
+ WARN_ON_ONCE(size > PAGE_SIZE - sizeof(struct rpc_buffer));
+ if (size > PAGE_SIZE - sizeof(struct rpc_buffer))
+ return NULL;
+ page = alloc_page(GFP_KERNEL);
if (!page)
return NULL;