On Wed, Feb 28, 2024 at 07:06:38AM +0100, Greg Kroah-Hartman wrote: > On Wed, Feb 28, 2024 at 08:59:36AM +0900, Dominique Martinet wrote: > > Greg Kroah-Hartman wrote on Tue, Feb 27, 2024 at 02:26:01PM +0100: > > > Kees Cook <keescook@xxxxxxxxxxxx> > > > net: dev: Convert sa_data to flexible array in struct sockaddr > > > (ca13c2b1e9e4b5d982c2f1e75f28b1586e5c0f7f in this tree, > > > b5f0de6df6dce8d641ef58ef7012f3304dffb9a1 upstream) > > > > This commit breaks build of some 3rd party wireless module we use here > > (because sizeof(sa->sa_data) no longer works and needs to use > > sa_data_min) Just FYI, it's possible that things using sizeof(sa->sa_data) were buggy to begin with since the struct size isn't actually dictated by that size (it's only the minimum possible size). > > With that said I guess it really is a dependency on the arp_req_get > > overflow, so probably necessary evil, and I don't think we explicitly > > pretend to preserve APIs for 3rd party modules so this is probably > > fine... The new warnings that poped up (and were reported in other > > messages) a probably worth checking though. > > We NEVER preserve in-kernel APIs for any out-of-tree code as obviously, > we have no idea what out-of-tree code is actually using, so it would be > impossible to do so. > > Also, it's odd that a driver is hit by this as no in-kernel driver was, > so perhaps it's using the wrong api to start with :) The reason is that most drivers don't want this size (see above) and all the in-tree code that did need adjustment got adjusted (visible in the referenced patch). :) But that's the risk of an out-of-tree driver: it doesn't get those fixes automatically. Out of curiosity, which drivers broke and what's needed to get them into upstream (or at least staging)? -Kees -- Kees Cook