IB/uverbs: Fix reading of 32 bit flags
authorJason Gunthorpe <jgg@mellanox.com>
Thu, 9 Aug 2018 16:19:35 +0000 (19:19 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 9 Aug 2018 21:46:07 +0000 (15:46 -0600)
commit922983c2a1a2f679cd576eb7162f413c15a4e979
tree48f8565eff0da8c49584a3bffc575b0cde447879
parent61b717d041b1976530f68f8b539b2e3a7dd8e39c
IB/uverbs: Fix reading of 32 bit flags

This is missing a zeroing of the high bits of flags, and is also not
correct for big endian machines. Properly zero extend the 32 bit flags
into the 64 bit stack variable.

Reported-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Fixes: bccd06223f21 ("IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language")
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
drivers/infiniband/core/uverbs_ioctl.c