On 22-Apr-19 21:00, Gal Pressman wrote: >> Hum. There is this weird thing where methods that don't have a udata >> defined don't always get a filled in udata pointer. >> >> Does this fix it? >> >> diff --git a/drivers/infiniband/core/uverbs_ioctl.c b/drivers/infiniband/core/uverbs_ioctl.c >> index cfbef25b3a73af..829b0c6944d842 100644 >> --- a/drivers/infiniband/core/uverbs_ioctl.c >> +++ b/drivers/infiniband/core/uverbs_ioctl.c >> @@ -453,6 +453,8 @@ static int ib_uverbs_run_method(struct bundle_priv *pbundle, >> uverbs_fill_udata(&pbundle->bundle, >> &pbundle->bundle.driver_udata, >> UVERBS_ATTR_UHW_IN, UVERBS_ATTR_UHW_OUT); >> + else >> + pbundle->bundle.driver_udata = (struct ib_udata){}; >> >> if (destroy_bkey != UVERBS_API_ATTR_BKEY_LEN) { >> struct uverbs_obj_attr *destroy_attr = >> > > I'll test, thanks. > This seems to fix the issue. Tested-by: Gal Pressman <galpress@xxxxxxxxxx>