IB/uverbs: Add a simple allocator to uverbs_attr_bundle
authorJason Gunthorpe <jgg@mellanox.com>
Fri, 10 Aug 2018 02:14:40 +0000 (20:14 -0600)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 13 Aug 2018 15:16:08 +0000 (09:16 -0600)
commit461bb2eee4e162617e790c74d9b4ab10056cad7f
treec941a0792c773c51ef23aa2aa2dc6a9e4d6999ea
parent6a1f444fefeba392d1232b408aaf5902e33e0982
IB/uverbs: Add a simple allocator to uverbs_attr_bundle

This is similar in spirit to devm, it keeps track of any allocations
linked to this method call and ensures they are all freed when the method
exits. Further, if there is space in the internal/onstack buffer then the
allocator will hand out that memory and avoid an expensive call to
kalloc/kfree in the syscall path.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
drivers/infiniband/core/uverbs_ioctl.c
include/rdma/uverbs_ioctl.h