OSDN Git Service

RDMA/uverbs: check for allocation failure in uapi_add_elm()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 30 May 2019 08:20:24 +0000 (11:20 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 30 May 2019 18:45:58 +0000 (15:45 -0300)
commitcac2a301c02a9b178842e22df34217da7854e588
treedff8603baa23706a1f621e424e9a8c480f4a61ab
parent6fe1a9b9b6542d460099395492d029bb6c6c2f5e
RDMA/uverbs: check for allocation failure in uapi_add_elm()

If the kzalloc() fails then we should return ERR_PTR(-ENOMEM).  In the
current code it's possible that the kzalloc() fails and the
radix_tree_insert() inserts the NULL pointer successfully and we return
the NULL "elm" pointer to the caller.  That results in a NULL pointer
dereference.

Fixes: 9ed3e5f44772 ("IB/uverbs: Build the specs into a radix tree at runtime")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/uverbs_uapi.c