Message ID | 20200423104813.20484-1-sudipm.mukherjee@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | RDMA/rxe: check for error | expand |
Thanks, Reviewed-by: Zhu Yanjun <yanjunz@mellanox.com> -----Original Message----- From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Sent: Thursday, April 23, 2020 6:48 PM To: Yanjun Zhu <yanjunz@mellanox.com>; Doug Ledford <dledford@redhat.com>; Jason Gunthorpe <jgg@ziepe.ca> Cc: linux-kernel@vger.kernel.org; linux-rdma@vger.kernel.org; Sudip Mukherjee <sudipm.mukherjee@gmail.com> Subject: [PATCH] RDMA/rxe: check for error rxe_create_mmap_info() returns either NULL or an error value in ERR_PTR and we only checked for NULL after return. We should be using IS_ERR_OR_NULL to check for both. Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> --- drivers/infiniband/sw/rxe/rxe_queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/sw/rxe/rxe_queue.c b/drivers/infiniband/sw/rxe/rxe_queue.c index ff92704de32f..ef438ce4fcfa 100644 --- a/drivers/infiniband/sw/rxe/rxe_queue.c +++ b/drivers/infiniband/sw/rxe/rxe_queue.c @@ -45,7 +45,7 @@ int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, if (outbuf) { ip = rxe_create_mmap_info(rxe, buf_size, udata, buf); - if (!ip) + if (IS_ERR_OR_NULL(ip)) goto err1; err = copy_to_user(outbuf, &ip->info, sizeof(ip->info)); -- 2.11.0
On Thu, Apr 23, 2020 at 11:48:13AM +0100, Sudip Mukherjee wrote: > rxe_create_mmap_info() returns either NULL or an error value in ERR_PTR > and we only checked for NULL after return. We should be using > IS_ERR_OR_NULL to check for both. > > Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> > drivers/infiniband/sw/rxe/rxe_queue.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_queue.c b/drivers/infiniband/sw/rxe/rxe_queue.c > index ff92704de32f..ef438ce4fcfa 100644 > +++ b/drivers/infiniband/sw/rxe/rxe_queue.c > @@ -45,7 +45,7 @@ int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, > > if (outbuf) { > ip = rxe_create_mmap_info(rxe, buf_size, udata, buf); > - if (!ip) > + if (IS_ERR_OR_NULL(ip)) > goto err1; Same comment as for the rvt patch - do not use IS_ERR_OR_NULL. If a function uses the ERR_PTR stuff then it should not return NULL. Fix rxe_create_mmap_info and check all call sites Jason
diff --git a/drivers/infiniband/sw/rxe/rxe_queue.c b/drivers/infiniband/sw/rxe/rxe_queue.c index ff92704de32f..ef438ce4fcfa 100644 --- a/drivers/infiniband/sw/rxe/rxe_queue.c +++ b/drivers/infiniband/sw/rxe/rxe_queue.c @@ -45,7 +45,7 @@ int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, if (outbuf) { ip = rxe_create_mmap_info(rxe, buf_size, udata, buf); - if (!ip) + if (IS_ERR_OR_NULL(ip)) goto err1; err = copy_to_user(outbuf, &ip->info, sizeof(ip->info));
rxe_create_mmap_info() returns either NULL or an error value in ERR_PTR and we only checked for NULL after return. We should be using IS_ERR_OR_NULL to check for both. Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> --- drivers/infiniband/sw/rxe/rxe_queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)