IB/uverbs: clean up INIT_UDATA() macro usage
authorArnd Bergmann <arnd@arndb.de>
Wed, 6 Sep 2017 21:34:26 +0000 (23:34 +0200)
committerDoug Ledford <dledford@redhat.com>
Wed, 27 Sep 2017 12:54:19 +0000 (08:54 -0400)
commit40a203396cc1c239f2e71c47c66ed03097123d2c
tree4d59b97985094f95b2a18fb2ce5e22759155f606
parent12f727721eee61b3d19dedb95cb893b2baa9fe41
IB/uverbs: clean up INIT_UDATA() macro usage

After changing INIT_UDATA_BUF_OR_NULL() to an inline function,
this does the same change to INIT_UDATA for consistency.
I'm keeping it separate as this part is much larger and
we wouldn't want to backport this to stable kernels if we
ever want to address the gcc warnings by backporting the
first patch.

Again, using an inline function gives us better type
safety here among other issues with macros. I'm using
u64_to_user_ptr() to convert the user pointer to simplify
the logic rather than adding lots of new type casts.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/uverbs.h
drivers/infiniband/core/uverbs_cmd.c