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, 27 Feb 2020 13:22:13 -0800 From: Saravana Kannan <saravanak@...gle.com> To: Daniel Lezcano <daniel.lezcano@...aro.org> Cc: Thomas Gleixner <tglx@...utronix.de>, Android Kernel Team <kernel-team@...roid.com>, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v1] clocksource: Avoid creating dead devices On Thu, Feb 27, 2020 at 1:06 AM Daniel Lezcano <daniel.lezcano@...aro.org> wrote: > > On 11/01/2020 06:21, Saravana Kannan wrote: > > Timer initialization is done during early boot way before the driver > > core starts processing devices and drivers. Timers initialized during > > this early boot period don't really need or use a struct device. > > > > However, for timers represented as device tree nodes, the struct devices > > are still created and sit around unused and wasting memory. This change > > avoid this by marking the device tree nodes as "populated" if the > > corresponding timer is successfully initialized. > > > > Signed-off-by: Saravana Kannan <saravanak@...gle.com> > > --- > > drivers/clocksource/timer-probe.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/clocksource/timer-probe.c b/drivers/clocksource/timer-probe.c > > index ee9574da53c0..a10f28d750a9 100644 > > --- a/drivers/clocksource/timer-probe.c > > +++ b/drivers/clocksource/timer-probe.c > > @@ -27,8 +27,10 @@ void __init timer_probe(void) > > > > init_func_ret = match->data; > > > > + of_node_set_flag(np, OF_POPULATED); > > ret = init_func_ret(np); > > if (ret) { > > + of_node_clear_flag(np, OF_POPULATED); > > Isn't it in conflict with: > > drivers/clocksource/ingenic-timer.c > > ? No, it won't interfere with that driver because: 1. This flag is getting set only if the driver already registered a timer init function using TIMER_OF_DECLARE. 2. And if the function fails, we clear the flag. So in the case of ingenic-timer, the device will still be there and be probed by the driver. My next step was going to be sending patches that'll actually allow compiling timer drivers as modules. Thanks, Saravana
Powered by blists - more mailing lists