All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacob Keller <jacob.e.keller@intel.com>
To: Tobias Klauser <tklauser@distanz.ch>, Jiri Pirko <jiri@nvidia.com>
Cc: Moshe Shemesh <moshe@mellanox.com>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next] devlink: use _BITUL() macro instead of BIT() in the UAPI header
Date: Tue, 5 Jan 2021 10:50:14 -0800	[thread overview]
Message-ID: <8ac29d40-f954-e481-f877-493a8c055aba@intel.com> (raw)
In-Reply-To: <20201215102531.16958-1-tklauser@distanz.ch>



On 12/15/2020 2:25 AM, Tobias Klauser wrote:
> The BIT() macro is not available for the UAPI headers. Moreover, it can
> be defined differently in user space headers. Thus, replace its usage
> with the _BITUL() macro which is already used in other macro definitions
> in <linux/devlink.h>.
> 
> Fixes: dc64cc7c6310 ("devlink: Add devlink reload limit option")
> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

Yep, this is correct, and we ran into this exact issue a few months ago
with the flash update parameters work. Wonder how difficult it would be
to get something like checkpatch.pl or another utility to complain about
using BIT() macros in UAPI..?

Unfortunately this is easy to overlook because the kernel side code
almost always has BIT defined, so you won't get a compilation failure
until you try to use the uapi header in a userspace program.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>

> ---
>  include/uapi/linux/devlink.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
> index 5203f54a2be1..cf89c318f2ac 100644
> --- a/include/uapi/linux/devlink.h
> +++ b/include/uapi/linux/devlink.h
> @@ -322,7 +322,7 @@ enum devlink_reload_limit {
>  	DEVLINK_RELOAD_LIMIT_MAX = __DEVLINK_RELOAD_LIMIT_MAX - 1
>  };
>  
> -#define DEVLINK_RELOAD_LIMITS_VALID_MASK (BIT(__DEVLINK_RELOAD_LIMIT_MAX) - 1)
> +#define DEVLINK_RELOAD_LIMITS_VALID_MASK (_BITUL(__DEVLINK_RELOAD_LIMIT_MAX) - 1)
>  
>  enum devlink_attr {
>  	/* don't change the order or add anything between, this is ABI! */
> 

      parent reply	other threads:[~2021-01-05 18:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15 10:25 [PATCH net-next] devlink: use _BITUL() macro instead of BIT() in the UAPI header Tobias Klauser
2020-12-17  0:30 ` patchwork-bot+netdevbpf
2021-01-05 18:50 ` Jacob Keller [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ac29d40-f954-e481-f877-493a8c055aba@intel.com \
    --to=jacob.e.keller@intel.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=moshe@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=tklauser@distanz.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.