From: Kent Gibson <warthog618@gmail.com>
To: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Cc: Bartosz Golaszewski <brgl@kernel.org>,
Linus Walleij <linusw@kernel.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] gpio: cdev: check if padding of uAPI v2 line config attributes is zeroed
Date: Tue, 19 May 2026 21:44:10 +0800 [thread overview]
Message-ID: <20260519134410.GA93030@rigel> (raw)
In-Reply-To: <20260519-gpio-cdev-attr-padding-check-v1-1-a0c6d4a698bf@oss.qualcomm.com>
On Tue, May 19, 2026 at 03:14:53PM +0200, Bartosz Golaszewski wrote:
> We check the padding of other uAPI v2 structures but not that of line
> config attributes. Add the missing check.
>
> Fixes: 3c0d9c635ae2 ("gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and GPIO_V2_LINE_GET_VALUES_IOCTL")
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> ---
> drivers/gpio/gpiolib-cdev.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
> index f36b7c06996d70b2286edbd181899e4c572b9086..f6f49376a36288cdf44493334e766d6340294ed7 100644
> --- a/drivers/gpio/gpiolib-cdev.c
> +++ b/drivers/gpio/gpiolib-cdev.c
> @@ -1184,6 +1184,7 @@ static int gpio_v2_line_flags_validate(u64 flags)
> static int gpio_v2_line_config_validate(struct gpio_v2_line_config *lc,
> unsigned int num_lines)
> {
> + struct gpio_v2_line_config_attribute *attr;
> unsigned int i;
> u64 flags;
> int ret;
> @@ -1194,6 +1195,13 @@ static int gpio_v2_line_config_validate(struct gpio_v2_line_config *lc,
> if (!mem_is_zero(lc->padding, sizeof(lc->padding)))
> return -EINVAL;
>
> + for (i = 0; i < GPIO_V2_LINE_NUM_ATTRS_MAX; i++) {
> + attr = &lc->attrs[i];
> +
> + if (!mem_is_zero(&attr->attr.padding, sizeof(attr->attr.padding)))
> + return -EINVAL;
> + }
> +
To be really pedantic, how about checking that all the unused attrs are zeroed?
With the loop here reduced to checking the padding of the used attrs.
Also, the attr padding is a u32, so is mem_is_zero() is overkill?
Cheers,
Kent.
> for (i = 0; i < num_lines; i++) {
> flags = gpio_v2_line_config_flags(lc, i);
> ret = gpio_v2_line_flags_validate(flags);
>
> ---
> base-commit: 6a50ba100ace43f43c87384367eb2d2605fcc16c
> change-id: 20260519-gpio-cdev-attr-padding-check-7e52c98a3de7
>
> Best regards,
> --
> Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
next prev parent reply other threads:[~2026-05-19 13:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 13:14 [PATCH] gpio: cdev: check if padding of uAPI v2 line config attributes is zeroed Bartosz Golaszewski
2026-05-19 13:44 ` Kent Gibson [this message]
2026-05-19 13:46 ` Bartosz Golaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260519134410.GA93030@rigel \
--to=warthog618@gmail.com \
--cc=bartosz.golaszewski@oss.qualcomm.com \
--cc=brgl@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.