On Wed, Apr 03, 2024 at 07:27:55AM +0200, Jiri Slaby wrote: > On 02. 04. 24, 15:19, Alexey Gladkov wrote: > >>> --- a/include/uapi/linux/kd.h > >>> +++ b/include/uapi/linux/kd.h > ... > >>> +struct console_font_info { > >>> + unsigned int min_width, min_height; /* minimal font size */ > >>> + unsigned int max_width, max_height; /* maximum font size */ > >>> + unsigned int flags; /* KD_FONT_INFO_FLAG_* */ > >> > >> This does not look like a well-defined™ and extendable uapi structure. > >> While it won't change anything here, still use fixed-length __u32. > >> > >> And you should perhaps add some reserved fields. Do not repeat the same > >> mistakes as your predecessors with the current kd uapi. > > > > I thought about it, but I thought it would be overengineering. > > It would not. UAPI structs are set in stone once released. > > And in this case, it's likely you would want to know more info about > fonts in the future. > > > Can you suggest how best to do this? > > Given you have flags in there already (to state that the structure > contains more), just add an array of u32 reserved[] space. 3 or 5, I > would say (to align the struct to 64bit). struct console_font_info { __u32 min_width, min_height; /* minimal font size */ __u32 max_width, max_height; /* maximum font size */ __u32 flags; /* KD_FONT_INFO_FLAG_* */ __u32 reserved[5]; /* This field is reserved forfuture use. Must be 0. */ }; So, struct should be like this ? I wouldn't add the version to the flags. Maybe it would be better to add a separate field with the version? -- Rgrds, legion