On Tue, May 29, 2018 at 07:31:22PM +0000, Ruhl, Michael J wrote:
> >-    struct ib_uverbs_destroy_cq_resp resp;
> >     struct ib_uobject *uobj =
> >-            uverbs_attr_get(attrs,
> >UVERBS_ATTR_DESTROY_CQ_HANDLE)->obj_attr.uobject;
> >-    struct ib_ucq_object *obj = container_of(uobj, struct ib_ucq_object,
> >-                                             uobject);
> >+            uverbs_attr_get_uobject(attrs,
> >UVERBS_ATTR_DESTROY_CQ_HANDLE);
> >+    struct ib_uverbs_destroy_cq_resp resp;
> >+    struct ib_ucq_object *obj;
> >     int ret;
> >
> >+    if (IS_ERR(uobj))
> >+            return PTR_ERR(uobj);
> >+
> 
> I remember a conversation that if an method attribute was mandatory, that you 
> did not need to
> test the uobj for error (since it was checked in the infrastructure).

Yes.

> Is this error check necessary?

No

But there is no way to check one way or the other at compile time
right now, and omitting the check makes smatch mad.

We need some more patches to be able to safely omit the check...

Jason

Reply via email to