diff mbox series

[v1,net-next] selftests: net: af_unix: Fix a build error of unix_connect.c.

Message ID 20220718162350.19186-1-kuniyu@amazon.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [v1,net-next] selftests: net: af_unix: Fix a build error of unix_connect.c. | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers warning 2 maintainers not CCed: linux-kselftest@vger.kernel.org shuah@kernel.org
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch warning CHECK: Macro argument 'member' may be better as '(member)' to avoid precedence issues
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Kuniyuki Iwashima July 18, 2022, 4:23 p.m. UTC
This patch fixes a build error reported in the link. [0]

  unix_connect.c: In function ‘unix_connect_test’:
  unix_connect.c:115:55: error: expected identifier before ‘(’ token
   #define offsetof(type, member) ((size_t)&((type *)0)->(member))
                                                       ^
  unix_connect.c:128:12: note: in expansion of macro ‘offsetof’
    addrlen = offsetof(struct sockaddr_un, sun_path) + variant->len;
              ^~~~~~~~

The checkpatch.pl will complain about this change, but the root cause of
the build failure is that I fixed this in the v2 -> v3 change. [1]

  CHECK: Macro argument 'member' may be better as '(member)' to avoid precedence issues
  #33: FILE: tools/testing/selftests/net/af_unix/unix_connect.c:115:
  +#define offsetof(type, member) ((size_t)&((type *)0)->member)

[0]: https://lore.kernel.org/linux-mm/202207182205.FrkMeDZT-lkp@intel.com/
[1]: https://lore.kernel.org/netdev/20220702154818.66761-1-kuniyu@amazon.com/

Fixes: e95ab1d85289 ("selftests: net: af_unix: Test connect() with different netns.")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
---
 tools/testing/selftests/net/af_unix/unix_connect.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jakub Kicinski July 20, 2022, 12:32 a.m. UTC | #1
On Mon, 18 Jul 2022 09:23:50 -0700 Kuniyuki Iwashima wrote:
> This patch fixes a build error reported in the link. [0]
> 
>   unix_connect.c: In function ‘unix_connect_test’:
>   unix_connect.c:115:55: error: expected identifier before ‘(’ token
>    #define offsetof(type, member) ((size_t)&((type *)0)->(member))
>                                                        ^
>   unix_connect.c:128:12: note: in expansion of macro ‘offsetof’
>     addrlen = offsetof(struct sockaddr_un, sun_path) + variant->len;
>               ^~~~~~~~

Can we delete this define and use stddef.h instead?  man offsetof
This is not kernel code the C standard lib is at our disposal.

> The checkpatch.pl will complain about this change, but the root cause of
> the build failure is that I fixed this in the v2 -> v3 change. [1]
> 
>   CHECK: Macro argument 'member' may be better as '(member)' to avoid precedence issues
>   #33: FILE: tools/testing/selftests/net/af_unix/unix_connect.c:115:
>   +#define offsetof(type, member) ((size_t)&((type *)0)->member)
> 
> [0]: https://lore.kernel.org/linux-mm/202207182205.FrkMeDZT-lkp@intel.com/
> [1]: https://lore.kernel.org/netdev/20220702154818.66761-1-kuniyu@amazon.com/
> 
> Fixes: e95ab1d85289 ("selftests: net: af_unix: Test connect() with different netns.")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
> ---
>  tools/testing/selftests/net/af_unix/unix_connect.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/net/af_unix/unix_connect.c b/tools/testing/selftests/net/af_unix/unix_connect.c
> index 157e44ef7f37..5b231d8c4683 100644
> --- a/tools/testing/selftests/net/af_unix/unix_connect.c
> +++ b/tools/testing/selftests/net/af_unix/unix_connect.c
> @@ -112,7 +112,7 @@ FIXTURE_TEARDOWN(unix_connect)
>  		remove("test");
>  }
>  
> -#define offsetof(type, member) ((size_t)&((type *)0)->(member))
> +#define offsetof(type, member) ((size_t)&((type *)0)->member)
>  
>  TEST_F(unix_connect, test)
>  {
Kuniyuki Iwashima July 20, 2022, 12:43 a.m. UTC | #2
From:   Jakub Kicinski <kuba@kernel.org>
Date:   Tue, 19 Jul 2022 17:32:01 -0700
> On Mon, 18 Jul 2022 09:23:50 -0700 Kuniyuki Iwashima wrote:
> > This patch fixes a build error reported in the link. [0]
> > 
> >   unix_connect.c: In function ‘unix_connect_test’:
> >   unix_connect.c:115:55: error: expected identifier before ‘(’ token
> >    #define offsetof(type, member) ((size_t)&((type *)0)->(member))
> >                                                        ^
> >   unix_connect.c:128:12: note: in expansion of macro ‘offsetof’
> >     addrlen = offsetof(struct sockaddr_un, sun_path) + variant->len;
> >               ^~~~~~~~
> 
> Can we delete this define and use stddef.h instead?  man offsetof
> This is not kernel code the C standard lib is at our disposal.

Ah, it works.
I'll respin v2.

Thank you!
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/af_unix/unix_connect.c b/tools/testing/selftests/net/af_unix/unix_connect.c
index 157e44ef7f37..5b231d8c4683 100644
--- a/tools/testing/selftests/net/af_unix/unix_connect.c
+++ b/tools/testing/selftests/net/af_unix/unix_connect.c
@@ -112,7 +112,7 @@  FIXTURE_TEARDOWN(unix_connect)
 		remove("test");
 }
 
-#define offsetof(type, member) ((size_t)&((type *)0)->(member))
+#define offsetof(type, member) ((size_t)&((type *)0)->member)
 
 TEST_F(unix_connect, test)
 {