From 73c38454383e0daeb72d08b990e49bf4bd42ba87 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 18 Dec 2019 14:44:12 +0100 Subject: pkg/compiler: fix incorrect alignment calculation for padding We assumed that for ConstType alignment is equal to size, which is perfectly reasonable for normal int8/16/32/64/ptr. However, padding is also represented by ConstType of arbitrary size, so if we added 157 bytes of padding that becomes alignment of the padding field and as the result of the whole struct. This affects very few structs, but quite radically and quite important structs. Discovered thanks to syz-check. Update #590 --- sys/linux/socket_netrom.txt.warn | 2 -- 1 file changed, 2 deletions(-) (limited to 'sys/linux/socket_netrom.txt.warn') diff --git a/sys/linux/socket_netrom.txt.warn b/sys/linux/socket_netrom.txt.warn index f4df193d4..cf3dd8eb2 100644 --- a/sys/linux/socket_netrom.txt.warn +++ b/sys/linux/socket_netrom.txt.warn @@ -1,3 +1 @@ struct address_netrom_dev: no corresponding struct in kernel -struct nr_route_struct: bad size: syz=120 kernel=112 -field nr_route_struct.device: bad offset: syz=12 kernel=11 -- cgit mrf-deployment