Re: [PATCH v8 03/20] gpio: uapi: define GPIO_MAX_NAME_SIZE for array sizes

From: Andy Shevchenko
Date: Tue Sep 15 2020 - 06:12:46 EST


On Wed, Sep 9, 2020 at 1:29 PM Kent Gibson <warthog618@xxxxxxxxx> wrote:
>
> Replace constant array sizes with a macro constant to clarify the source
> of array sizes, provide a place to document any constraints on the size,
> and to simplify array sizing in userspace if constructing structs
> from their composite fields.
>

Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>


> Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx>
> ---
> include/uapi/linux/gpio.h | 17 +++++++++++------
> 1 file changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
> index 9c27cecf406f..285cc10355b2 100644
> --- a/include/uapi/linux/gpio.h
> +++ b/include/uapi/linux/gpio.h
> @@ -14,6 +14,11 @@
> #include <linux/ioctl.h>
> #include <linux/types.h>
>
> +/*
> + * The maximum size of name and label arrays.
> + */
> +#define GPIO_MAX_NAME_SIZE 32
> +
> /**
> * struct gpiochip_info - Information about a certain GPIO chip
> * @name: the Linux kernel name of this GPIO chip
> @@ -22,8 +27,8 @@
> * @lines: number of GPIO lines on this chip
> */
> struct gpiochip_info {
> - char name[32];
> - char label[32];
> + char name[GPIO_MAX_NAME_SIZE];
> + char label[GPIO_MAX_NAME_SIZE];
> __u32 lines;
> };
>
> @@ -52,8 +57,8 @@ struct gpiochip_info {
> struct gpioline_info {
> __u32 line_offset;
> __u32 flags;
> - char name[32];
> - char consumer[32];
> + char name[GPIO_MAX_NAME_SIZE];
> + char consumer[GPIO_MAX_NAME_SIZE];
> };
>
> /* Maximum number of requested handles */
> @@ -123,7 +128,7 @@ struct gpiohandle_request {
> __u32 lineoffsets[GPIOHANDLES_MAX];
> __u32 flags;
> __u8 default_values[GPIOHANDLES_MAX];
> - char consumer_label[32];
> + char consumer_label[GPIO_MAX_NAME_SIZE];
> __u32 lines;
> int fd;
> };
> @@ -182,7 +187,7 @@ struct gpioevent_request {
> __u32 lineoffset;
> __u32 handleflags;
> __u32 eventflags;
> - char consumer_label[32];
> + char consumer_label[GPIO_MAX_NAME_SIZE];
> int fd;
> };
>
> --
> 2.28.0
>


--
With Best Regards,
Andy Shevchenko