Dumitru Ceara <[email protected]> writes:

> For example is parsing the OVN "eth.dst[40] = 1;" action, which
> triggered the following warning from UndefinedBehaviorSanitizer:
>
>   lib/meta-flow.c:3210:9: runtime error: member access within misaligned 
> address 0x000000de4e36 for type 'const union mf_value', which requires 8 byte 
> alignment
>   0x000000de4e36: note: pointer points here
>    00 00 00 00 01 00  00 00 00 00 00 00 00 00  70 4e de 00 00 00 00 00  10 51 
> de 00 00 00 00 00  c0 4f
>                ^
>       #0 0x5818bc in mf_format lib/meta-flow.c:3210
>       #1 0x5b6047 in format_SET_FIELD lib/ofp-actions.c:3342
>       #2 0x5d68ab in ofpact_format lib/ofp-actions.c:9213
>       #3 0x5d6ee0 in ofpacts_format lib/ofp-actions.c:9237
>       #4 0x410922 in test_parse_actions tests/test-ovn.c:1360
>
> To avoid this we now change the internal representation of the set_field
> actions, struct ofpact_set_field, such that the mask is always stored
> at a correctly aligned address, multiple of OFPACT_ALIGNTO.
>
> We also need to adapt the "ovs-ofctl show-flows - Oversized flow" test
> because now the ofpact representation of the set_field action uses more
> bytes in memory (for the extra alignment).  Change the test to use
> dec_ttl instead.
>
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---

Acked-by: Aaron Conole <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to