On Wed, 19 Apr 2023 11:16:27 -0400 Xin Long wrote: > Paolo noticed a compile warning in SCTP, > > ../net/sctp/stream_sched_fc.c: note: in included file (through ../include/net/sctp/sctp.h): > ../include/net/sctp/structs.h:335:41: warning: array of flexible structures > > But not only this, there are actually quite a lot of such warnings in > some SCTP structs. This patchset fixes most of warnings by deleting > these nested flexible array members. > > After this patchset, there are still some warnings left: > > # make C=2 CF="-Wflexible-array-nested" M=./net/sctp/ > ./include/net/sctp/structs.h:1145:41: warning: nested flexible array > ./include/uapi/linux/sctp.h:641:34: warning: nested flexible array > ./include/uapi/linux/sctp.h:643:34: warning: nested flexible array > ./include/uapi/linux/sctp.h:644:33: warning: nested flexible array > ./include/uapi/linux/sctp.h:650:40: warning: nested flexible array > ./include/uapi/linux/sctp.h:653:39: warning: nested flexible array > > the 1st is caused by __data[] in struct ip_options, not in SCTP; > the others are in uapi, and we should not touch them. > > Note that instead of completely deleting it, we just leave it as a > comment in the struct, signalling to the reader that we do expect > such variable parameters over there, as Marcelo suggested. Hi Kees, is there no workaround for nested flexible arrays within the kernel? Any recommendations? https://lore.kernel.org/all/cover.1681917361.git.lucien.xin@xxxxxxxxx/