lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <398cb6c9-9973-9ba2-ed7c-4d5527e19f88@nexus-software.ie>
Date:   Tue, 18 Jul 2017 12:11:40 +0100
From:   Bryan O'Donoghue <pure.logic@...us-software.ie>
To:     karthik@...hveda.org, johan@...nel.org, elder@...nel.org,
        gregkh@...uxfoundation.org
Cc:     greybus-dev@...ts.linaro.org, devel@...verdev.osuosl.org,
        linux-kernel@...r.kernel.org, sunil.m@...hveda.org
Subject: Re: [PATCH] staging: greybus: loopback: Enclose multiple macro
 statements in do-while loop

On 18/07/17 11:56, karthik@...hveda.org wrote:
> From: Karthik Tummala <karthik@...hveda.org>
> 
> Enclosed multiple macro statements in a do - while loop as per kernel
> coding standard, pointed by checkpatch.
> 
> Signed-off-by: Karthik Tummala <karthik@...hveda.org>
> ---
>   drivers/staging/greybus/loopback.c | 10 ++++++----
>   1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c
> index 08e2558..c616555 100644
> --- a/drivers/staging/greybus/loopback.c
> +++ b/drivers/staging/greybus/loopback.c
> @@ -176,10 +176,12 @@ static DEVICE_ATTR_RO(name##_##field)
>   }									\
>   static DEVICE_ATTR_RO(name##_avg)
>   
> -#define gb_loopback_stats_attrs(field)				\
> -	gb_loopback_ro_stats_attr(field, min, u);		\
> -	gb_loopback_ro_stats_attr(field, max, u);		\
> -	gb_loopback_ro_avg_attr(field)
> +#define gb_loopback_stats_attrs(field)					\
> +do {									\
> +	gb_loopback_ro_stats_attr(field, min, u);			\
> +	gb_loopback_ro_stats_attr(field, max, u);			\
> +	gb_loopback_ro_avg_attr(field);					\
> +} while (0)
>   
>   #define gb_loopback_attr(field, type)					\
>   static ssize_t field##_show(struct device *dev,				\
> 
Macros with multiple statements should be enclosed in a do - while block:

.. code-block:: c

         #define macrofun(a, b, c)                       \
                 do {                                    \
                         if (a == 5)                     \
                                 do_this(b, c);          \
                 } while (0)


I don't think it really applies.

We're declaring functions not inlining executable code..

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ