strace build error static assertion failed: "XFRM_MSG_MAPPING != 0x26"

4 messages, 3 authors, 2021-10-07 · open the first message on its own page

strace build error static assertion failed: "XFRM_MSG_MAPPING != 0x26"

From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Date: 2021-10-06 21:43:32

Hi,

When compiling strace-5.14 (although it looks like the same problem 
would exist with bleeding edge strace) with headers from the tip of 
Linus's tree (5.15.0-rc4) I get the following error

strace: In file included from static_assert.h:11,
strace:                  from print_fields.h:12,
strace:                  from defs.h:1901,
strace:                  from netlink.c:10:
strace: xlat/nl_xfrm_types.h:162:1: error: static assertion failed: 
"XFRM_MSG_MAPPING != 0x26"
strace:  static_assert((XFRM_MSG_MAPPING) == (0x26), "XFRM_MSG_MAPPING 
!= 0x26");
strace:  ^~~~~~~~~~~~~

It looks like commit 2d151d39073a ("xfrm: Add possibility to set the 
default to block if we have no policy") added some XFRM messages and the 
numbers shifted. Is this considered an ABI breakage?

I'm not sure if this is a strace problem or a linux problem so I'm 
reporting it in both places.

Thanks,
Chris

Re: strace build error static assertion failed: "XFRM_MSG_MAPPING != 0x26"

From: Dmitry V. Levin <hidden>
Date: 2021-10-06 21:48:26

On Wed, Oct 06, 2021 at 09:43:11PM +0000, Chris Packham wrote:
Hi,

When compiling strace-5.14 (although it looks like the same problem 
would exist with bleeding edge strace) with headers from the tip of 
Linus's tree (5.15.0-rc4) I get the following error

strace: In file included from static_assert.h:11,
strace:                  from print_fields.h:12,
strace:                  from defs.h:1901,
strace:                  from netlink.c:10:
strace: xlat/nl_xfrm_types.h:162:1: error: static assertion failed: 
"XFRM_MSG_MAPPING != 0x26"
strace:  static_assert((XFRM_MSG_MAPPING) == (0x26), "XFRM_MSG_MAPPING 
!= 0x26");
strace:  ^~~~~~~~~~~~~

It looks like commit 2d151d39073a ("xfrm: Add possibility to set the 
default to block if we have no policy") added some XFRM messages and the 
numbers shifted. Is this considered an ABI breakage?

I'm not sure if this is a strace problem or a linux problem so I'm 
reporting it in both places.
Yes, this is already covered by 
https://lore.kernel.org/lkml/20210912122234.GA22469@asgard.redhat.com/T/#u

Thanks,


-- 
ldv

Re: strace build error static assertion failed: "XFRM_MSG_MAPPING != 0x26"

From: Dmitry V. Levin <hidden>
Date: 2021-10-06 21:51:33

On Thu, Oct 07, 2021 at 12:48:16AM +0300, Dmitry V. Levin wrote:
On Wed, Oct 06, 2021 at 09:43:11PM +0000, Chris Packham wrote:
quoted
Hi,

When compiling strace-5.14 (although it looks like the same problem 
would exist with bleeding edge strace) with headers from the tip of 
Linus's tree (5.15.0-rc4) I get the following error

strace: In file included from static_assert.h:11,
strace:                  from print_fields.h:12,
strace:                  from defs.h:1901,
strace:                  from netlink.c:10:
strace: xlat/nl_xfrm_types.h:162:1: error: static assertion failed: 
"XFRM_MSG_MAPPING != 0x26"
strace:  static_assert((XFRM_MSG_MAPPING) == (0x26), "XFRM_MSG_MAPPING 
!= 0x26");
strace:  ^~~~~~~~~~~~~

It looks like commit 2d151d39073a ("xfrm: Add possibility to set the 
default to block if we have no policy") added some XFRM messages and the 
numbers shifted. Is this considered an ABI breakage?

I'm not sure if this is a strace problem or a linux problem so I'm 
reporting it in both places.
Yes, this is already covered by 
https://lore.kernel.org/lkml/20210912122234.GA22469@asgard.redhat.com/T/#u

Thanks,
I wonder, why the fix hasn't been merged yet, though.


-- 
ldv

Re: strace build error static assertion failed: "XFRM_MSG_MAPPING != 0x26"

From: Steffen Klassert <steffen.klassert@secunet.com>
Date: 2021-10-07 05:58:12

On Thu, Oct 07, 2021 at 12:51:24AM +0300, Dmitry V. Levin wrote:
On Thu, Oct 07, 2021 at 12:48:16AM +0300, Dmitry V. Levin wrote:
quoted
On Wed, Oct 06, 2021 at 09:43:11PM +0000, Chris Packham wrote:
quoted
Hi,

When compiling strace-5.14 (although it looks like the same problem 
would exist with bleeding edge strace) with headers from the tip of 
Linus's tree (5.15.0-rc4) I get the following error

strace: In file included from static_assert.h:11,
strace:                  from print_fields.h:12,
strace:                  from defs.h:1901,
strace:                  from netlink.c:10:
strace: xlat/nl_xfrm_types.h:162:1: error: static assertion failed: 
"XFRM_MSG_MAPPING != 0x26"
strace:  static_assert((XFRM_MSG_MAPPING) == (0x26), "XFRM_MSG_MAPPING 
!= 0x26");
strace:  ^~~~~~~~~~~~~

It looks like commit 2d151d39073a ("xfrm: Add possibility to set the 
default to block if we have no policy") added some XFRM messages and the 
numbers shifted. Is this considered an ABI breakage?

I'm not sure if this is a strace problem or a linux problem so I'm 
reporting it in both places.
Yes, this is already covered by 
https://lore.kernel.org/lkml/20210912122234.GA22469@asgard.redhat.com/T/#u

Thanks,
I wonder, why the fix hasn't been merged yet, though.
That was due to a delay on my side. I've just sent a pull request
with the fix included.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help