Re: [PATCH] RDMA/core: Fix a violation of the C standard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 02, 2018 at 10:28:22AM -0700, Bart Van Assche wrote:
> This patch avoids that sparse reports the following:
>
> drivers/infiniband/core/uverbs_std_types_cq.c:206:1: error: directive in argument list
> drivers/infiniband/core/uverbs_std_types_cq.c:209:1: error: directive in argument list
>
> Additionally, this patch also avoids that sparse warns about defined
> but not used functions with CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI=n.
>
> Fixes: 185899ee8d00 ("IB/uverbs: Enable ioctl() uAPI by default for new verbs")
> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx>
> Cc: Matan Barak <matanb@xxxxxxxxxxxx>
> Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/uverbs_std_types_cq.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)

Bart,

The patch looks good for me.
Just for my general knowledge, can you point which part of C standard
the original code violated?

Thanks.

>
> diff --git a/drivers/infiniband/core/uverbs_std_types_cq.c b/drivers/infiniband/core/uverbs_std_types_cq.c
> index 3d293d01afea..3fc1838d6cb1 100644
> --- a/drivers/infiniband/core/uverbs_std_types_cq.c
> +++ b/drivers/infiniband/core/uverbs_std_types_cq.c
> @@ -53,6 +53,7 @@ static int uverbs_free_cq(struct ib_uobject *uobject,
>  	return ret;
>  }
>
> +#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI)
>  static int UVERBS_HANDLER(UVERBS_METHOD_CQ_CREATE)(struct ib_device *ib_dev,
>  						   struct ib_uverbs_file *file,
>  						   struct uverbs_attr_bundle *attrs)
> @@ -199,13 +200,18 @@ static DECLARE_UVERBS_NAMED_METHOD(UVERBS_METHOD_CQ_DESTROY,
>  	&UVERBS_ATTR_PTR_OUT(UVERBS_ATTR_DESTROY_CQ_RESP,
>  			     UVERBS_ATTR_TYPE(struct ib_uverbs_destroy_cq_resp),
>  			     UA_FLAGS(UVERBS_ATTR_SPEC_F_MANDATORY)));
> +#endif
>
> +#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI)
>  DECLARE_UVERBS_NAMED_OBJECT(UVERBS_OBJECT_CQ,
>  			    &UVERBS_TYPE_ALLOC_IDR_SZ(sizeof(struct ib_ucq_object), 0,
>  						      uverbs_free_cq),
> -#if IS_ENABLED(CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI)
>  			    &UVERBS_METHOD(UVERBS_METHOD_CQ_CREATE),
>  			    &UVERBS_METHOD(UVERBS_METHOD_CQ_DESTROY)
> -#endif
>  			   );
> -
> +#else
> +DECLARE_UVERBS_NAMED_OBJECT(UVERBS_OBJECT_CQ,
> +			    &UVERBS_TYPE_ALLOC_IDR_SZ(sizeof(struct ib_ucq_object), 0,
> +						      uverbs_free_cq),
> +			   );
> +#endif
> --
> 2.18.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux