Re: [PATCH v3 01/11] driver: platform: Add helper for safer setting of driver_override

From: Bjorn Helgaas
Date: Mon Feb 28 2022 - 15:03:35 EST


On Sun, Feb 27, 2022 at 02:52:04PM +0100, Krzysztof Kozlowski wrote:
> Several core drivers and buses expect that driver_override is a
> dynamically allocated memory thus later they can kfree() it.

> +int driver_set_override(struct device *dev, const char **override,
> + const char *s, size_t len)
> +{
> + const char *new, *old;
> + char *cp;
> +
> + if (!dev || !override || !s)
> + return -EINVAL;
> +
> + /* We need to keep extra room for a newline */

It would help a lot to extend this comment with a hint about where the
room for a newline is needed. It was confusing even before, but it's
much more so now that the check is in a completely different file than
the "show" functions that need the space.

> + if (len >= (PAGE_SIZE - 1))
> + return -EINVAL;