X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fsunrpc%2Fxdr.c;h=56055632f1518323f68be9e8bcd3e59d7441be2c;hb=0264405b84505f60ae00625f261e75a32c7ddf56;hp=08f50afd5f2a1d9dedc53ed1157d94be7e1e964d;hpb=64acba6a7adfe8be2e28b7e903092db685328a08;p=~andy%2Flinux diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 08f50afd5f2..56055632f15 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c @@ -318,7 +318,10 @@ xdr_shrink_bufhead(struct xdr_buf *buf, size_t len) tail = buf->tail; head = buf->head; - BUG_ON (len > head->iov_len); + + WARN_ON_ONCE(len > head->iov_len); + if (len > head->iov_len) + len = head->iov_len; /* Shift the tail first */ if (tail->iov_len != 0) {