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

Re: [PATCH 1/2] xen/arm: asm/atomic.h: Fix MISRA C 2012 Rule 20.7 violation


  • To: Xenia Ragiadakou <burzalodowa@xxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Wed, 27 Jul 2022 17:36:40 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cN5o6lWAgUERhcBQ3a1gWXNIEjwgU/cBpWcwDYvqMrk=; b=g/oaMEZwqMOM+3lmMK9FAgp4BMeIKtO8FXRh693umwFB+3FR3+au4rfc7FWlgrZgWY0etSITkZIbN0QEux1mf3KQV/GDFWkA37zFMamC5LVuJ6HvSB2TSHZK0AKTHq9ae5wzYIenixmHSiRJinmz2PWK5CrqxfVUDYDyxFgvN/2KQlyeBw+NmrFYMtYnPIluqcYw7PdBa6Q0SOfu/cLEarjDGIOpgkJ9oDLd5selHe0B6Ha6f09DGZQxAuXjVw5DbWaw5fko1MWwdKIbyZ0VWBLa2XW9XSJ+an9WlPdQ248hZLGyEDcN0JDmASYv0nzfXa1lDBPa0lpPUKfBFJEW5w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X5ZEl7bB451Txc70q/CLbse2XGEEf4te2SBD3SjbzJtZs7/wcK8Yt9/vpYxLAjrMHKzvDUw5sMSks4+W6mGj+qAEoqwFPTz9Cua+R/T3RdZWt3j1KHz9J/FpNwYW857+jJM8VV0fBAyUxql3QwgB/9K5FaNiB725Rjvz8hkRtz2W/8WvYnOf5RLVMOzsNnFmSrQB+QZwOP0JFwnwCgxYaSZ+QxVVPqk1jyXqzdMFD9EDf+yw3ewSdhjAUAUTu6gW0HTA4oqXRbQbCcjHJ6FgV3ZFnzdbRn3/PiW9entc1e4NeNHBDfjAiLbTC9ShWaJMUA831lcsxI4VXgRT+RX3sQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Wed, 27 Jul 2022 15:36:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 27.07.2022 17:32, Xenia Ragiadakou wrote:
> The macro parameter 'p' is used as an expression and needs to be enclosed in
> parentheses.

Yes, but ...

> --- a/xen/arch/arm/include/asm/atomic.h
> +++ b/xen/arch/arm/include/asm/atomic.h
> @@ -123,15 +123,15 @@ static always_inline void write_atomic_size(volatile 
> void *p,
>  }
>  
>  #define read_atomic(p) ({                                               \
> -    union { typeof(*p) val; char c[0]; } x_;                            \
> -    read_atomic_size(p, x_.c, sizeof(*p));                              \
> +    union { typeof(*(p)) val; char c[0]; } x_;                          \
> +    read_atomic_size((p), x_.c, sizeof(*(p)));                          \

... not in the first argument's case - that's not an expression.
Too few parentheses are a risk, but too many are as well, as they
negatively affect readability.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.