lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230817170934.GA1495946-robh@kernel.org>
Date:   Thu, 17 Aug 2023 12:09:34 -0500
From:   Rob Herring <robh@...nel.org>
To:     Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc:     Frank Rowand <frowand.list@...il.com>,
        "Enrico Weigelt, metux IT consult" <info@...ux.net>,
        "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
        Sakari Ailus <sakari.ailus@...ux.intel.com>,
        Petr Mladek <pmladek@...e.com>,
        Geert Uytterhoeven <geert+renesas@...der.be>,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 5/6] of: dynamic: Move dead property list check into
 property add/update functions

On Mon, Aug 07, 2023 at 06:37:15PM +0300, Andy Shevchenko wrote:
> On Fri, Aug 04, 2023 at 04:41:55PM -0600, Rob Herring wrote:
> > The changeset code checks for a property in the deadprops list when
> > adding/updating a property, but of_add_property() and
> > of_update_property() do not. As the users of these functions are pretty
> > simple, they have not hit this scenario or else the property lists
> > would get corrupted.
> 
> Suggested-by: ? :-)

Humm, by me? The change in behavior and point of this patch comes from 
me. You've provided review comments which will get covered by a
Reviewed-by I presume.

> 
> ...
> 
> > +static void __of_remove_dead_property(struct device_node *np, struct property *prop)
> > +{
> > +	struct property **next;
> > +
> > +	/* If the property is in deadprops then it must be removed */
> > +	for (next = &np->deadprops; *next; next = &(*next)->next) {
> > +		if (*next != prop)
> > +			continue;
> > +
> > +		*next = prop->next;
> > +		prop->next = NULL;
> > +		break;
> 
> Why not
> 
> 		if (*next == prop) {
> 			*next = prop->next;
> 			prop->next = NULL;
> 			break;
> 		}
> 
> which seems to me clearer?

Sure. I like the style I wrote, but whichever way ends the discussion is 
fine for me.

Rob

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ