Alexey Kashavkin <akashavkin@xxxxxxxxx> wrote: > > This is wrong, the array should be aligned to fit struct > > requirements, so u32 is needed, or __aligned annotation is needed > > for optbuf. > > This is the old common case of initialising the variable structure ip_options, as in ip_sockglue.c or cipso_ipv4.c. But I don't understand how best to do it, because if we change the optbuf type to u32, it might be redundant if we don't change the array size, and therefore I have no idea what boundary to align it on. Then lets leave it as-is. > > Can you make a second patch that places optbuf in the > > stack frame of the calling function instead? > > Into the ipv4_find_option() function? Never mind, its fine, nft_exthdr_ipv4_eval refetches data from skb data.