Message ID | 1351003429-18887-3-git-send-email-dros@netapp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index abb7f5e..eacdb15 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -700,7 +700,11 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old, const struct rpc_version *version; int err; - BUG_ON(vers >= program->nrvers || !program->version[vers]); + if (vers >= program->nrvers || !program->version[vers]) { + pr_err("RPC: invalid program version %u for program %s\n", + vers, program->name); + return ERR_PTR(-EINVAL); + } version = program->version[vers]; clnt = rpc_clone_client(old); if (IS_ERR(clnt))
Instead of calling BUG_ON when rpc_bind_new_program gets an invalid rpc program version, print a KERN_ERR message and return -EINVAL. Signed-off-by: Weston Andros Adamson <dros@netapp.com> --- net/sunrpc/clnt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)