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
| ||
|
Date: Thu, 24 Dec 2020 01:08:58 +0000 From: Daniel Scally <djrscally@...il.com> To: linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org, linux-media@...r.kernel.org, devel@...ica.org Cc: rjw@...ysocki.net, lenb@...nel.org, gregkh@...uxfoundation.org, yong.zhi@...el.com, sakari.ailus@...ux.intel.com, bingbu.cao@...el.com, tian.shu.qiu@...el.com, mchehab@...nel.org, robert.moore@...el.com, erik.kaneda@...el.com, pmladek@...e.com, rostedt@...dmis.org, sergey.senozhatsky@...il.com, andriy.shevchenko@...ux.intel.com, linux@...musvillemoes.dk, laurent.pinchart+renesas@...asonboard.com, jacopo+renesas@...ndi.org, kieran.bingham+renesas@...asonboard.com, hverkuil-cisco@...all.nl, m.felsch@...gutronix.de, niklas.soderlund+renesas@...natech.se, slongerbeam@...il.com, heikki.krogerus@...ux.intel.com, linus.walleij@...aro.org, kernel test robot <lkp@...el.com>, Dan Carpenter <dan.carpenter@...cle.com>, Laurent Pinchart <laurent.pinchart@...asonboard.com> Subject: [PATCH v3 05/14] software_node: unregister software_nodes in reverse order To maintain consistency with software_node_unregister_nodes(), reverse the order in which the software_node_unregister_node_group() function unregisters nodes. Reported-by: kernel test robot <lkp@...el.com> Reported-by: Dan Carpenter <dan.carpenter@...cle.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.com> Suggested-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com> Signed-off-by: Daniel Scally <djrscally@...il.com> --- Changes in v3 - Fixed the dereference of the terminating NULL entry - Comment cleanup drivers/base/swnode.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index ade49173ff8d..2d07eb04c6c8 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -779,16 +779,22 @@ EXPORT_SYMBOL_GPL(software_node_register_node_group); * software_node_unregister_node_group - Unregister a group of software nodes * @node_group: NULL terminated array of software node pointers to be unregistered * - * Unregister multiple software nodes at once. + * Unregister multiple software nodes at once. The array will be unwound in + * reverse order (i.e. last entry first) and thus if any member of the array + * has its .parent member set then they should appear later in the array such + * that they are unregistered first. */ void software_node_unregister_node_group(const struct software_node **node_group) { - unsigned int i; + unsigned int i = 0; if (!node_group) return; - for (i = 0; node_group[i]; i++) + while (node_group[i]) + i++; + + while (i--) software_node_unregister(node_group[i]); } EXPORT_SYMBOL_GPL(software_node_unregister_node_group); -- 2.25.1
Powered by blists - more mailing lists