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]
Date:   Fri, 10 Mar 2023 16:11:41 +0200
From:   Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To:     Mirsad Todorovac <mirsad.todorovac@....unizg.hr>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-kernel@...r.kernel.org,
        "Rafael J. Wysocki" <rafael@...nel.org>
Subject: Re: [PATCH v1 1/1] devres: Pass unique name of the resource to
 devm_add_action()

On Fri, Mar 10, 2023 at 02:21:24PM +0100, Mirsad Todorovac wrote:
> On 2/24/23 21:07, Andy Shevchenko wrote:
> > Pass the unique name of the resource to devm_add_action(),
> > so it will be easier to debug managed resources.

...

> (I'm late two weeks w testing, but those were rather busy two weeks.)

Thank you for this test!

> I see what it is meant to do, but I am unsure of how to test whether it works.

Your test below is good enough.

> Being the unfaithful Thomas, I always prefer to test rather to just assume it
> is OK.
> 
> Is this OK output you expected to see in syslog?

Not really. It seems that we need to also wrap the devm_add_action_or_reset()
separately.

> Mar  8 22:20:36 pc-mtodorov kernel: gpio-sim gpio-sim.0: DEVRES ADD 00000000ea28d384 action (16 bytes)

> Mar  8 22:20:36 pc-mtodorov kernel: gpio-sim gpio-sim.0: DEVRES ADD 000000004090f288 action (16 bytes)
> Mar  8 22:20:36 pc-mtodorov kernel: gpio-sim gpio-sim.0: DEVRES REL 000000004090f288 action (16 bytes)

> Mar  8 22:20:36 pc-mtodorov kernel: gpio-sim gpio-sim.0: DEVRES REL 00000000ea28d384 action (16 bytes)

Instead of 'action' we need to see the real name of the action.

> NOTE: Maybe I should emphasise that this is not seen in either dmesg or kernel console.

Do you have 'ignore_loglevel' in the kernel command line? You should,
independently on this patch, for debug testing.

> I have just checked, and DEVRES lines are only in /var/log/messages (on AlmaLinux 8.7, CentOS fork).
> 
> As you must have guessed yourself already, this will frustrate debugging past the lifetime of rsyslog process.
> 
> Also, there is no way known to me to access dmesg log from the previous kernel run.

Can you test this on top?

diff --git a/include/linux/device.h b/include/linux/device.h
index 0f128520f6e5..12dc08aa5c0f 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -250,17 +250,19 @@ int __devm_add_action(struct device *dev, void (*action)(void *), void *data, co
 #define devm_add_action(release, action, data) \
 	__devm_add_action(release, action, data, #action)
 
-static inline int devm_add_action_or_reset(struct device *dev,
-					   void (*action)(void *), void *data)
+static inline int __devm_add_action_or_reset(struct device *dev, void (*action)(void *),
+					     void *data, const char *name)
 {
 	int ret;
 
-	ret = devm_add_action(dev, action, data);
+	ret = __devm_add_action(dev, action, data, name);
 	if (ret)
 		action(data);
 
 	return ret;
 }
+#define devm_add_action_or_reset(release, action, data) \
+	__devm_add_action_or_reset(release, action, data, #action)
 
 /**
  * devm_alloc_percpu - Resource-managed alloc_percpu

-- 
With Best Regards,
Andy Shevchenko


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ