On 8/14/24 14:03, Simon Horman wrote: > On Wed, Aug 14, 2024 at 12:33:03PM +0200, Ilya Maximets wrote: >> The 'parse()' callback has a function type with 'void *change' >> argument. In all other cases it is used this way, except for >> the route_table_parse(). That generates UBsan error: >> >> lib/netlink-notifier.c:190:25: runtime error: call to function >> route_table_parse through pointer to incorrect function type >> 'int (*)(struct ofpbuf *, void *)' >> lib/route-table.c:227: note: route_table_parse defined here >> 0 0x24d0 in nln_run lib/netlink-notifier.c:190:25 >> 1 0x7b39 in route_table_run lib/route-table.c:137:9 >> 2 0x5565 in netdev_vport_run lib/netdev-vport.c:364:5 >> 3 0xe978 in netdev_run lib/netdev.c:192:13 >> 4 0x2f25 in main vswitchd/ovs-vswitchd.c:132:9 >> 5 0xa1c9 in __libc_start_call_main >> 6 0xa28a in __libc_start_main >> 7 0xf004 in _start (vswitchd/ovs-vswitchd+0x726004) >> >> Instead of turning off function sanitizer, let's just define >> this callback as all the other parsing callbacks and cast the >> void pointer inside the implementation. >> >> This fixes system tests on Ubuntu 24.04 with UBsan. >> >> Signed-off-by: Ilya Maximets <[email protected]> > > Acked-by: Simon Horman <[email protected]> >
Applied to all branches down to 2.17. Thanks! Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
