Messages in this thread | | | Date | Fri, 3 Feb 2023 01:13:06 +0300 | From | Dan Carpenter <> | Subject | Re: [PATCH] staging: pi433: modify bit_rate from u16 to u32 |
| |
On Thu, Feb 02, 2023 at 10:02:25PM +0000, David Laight wrote: > From: Dan Carpenter > > Sent: 01 February 2023 13:23 > > > > On Wed, Feb 01, 2023 at 12:34:50PM +0000, David Laight wrote: > > > In reality having a uapi structure with embedded padding should > > > be banned. > > > But that would need a compiler attribute to enforce it. > > > > It would be simple enough to grep the names of all the UAPI struct and > > use pahole to make a list of the existing structs which have holes. > > Then re-run the script every week and complain when new holey struct > > types are added. > > > > You could do a similar thing with Smatch looking at copy_to/from_user() > > struct types. > > Would it be possible to add aa attribute and check to sparse? > > Might persuade people to use it instead of 'packed' for structures > that map defined byte layouts and so mustn't be holey - but are > never actually misaligned in memory.
I mean, it's kind of a before and after thing where we have to allow all the existing code and complain about new code. But yeah, we could use the __user annotation as well. If we encountered a `struct oldabi_stat64 __user *statbuf` then complain if oldabi_stat64 had a hole. At the end, delete all the warnings that existed in the previously tested kernel.
regards, dan carpenter
| |