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
| ||
|
Message-ID: <20071010003824.GA8477@lixom.net> Date: Tue, 9 Oct 2007 19:38:24 -0500 From: Olof Johansson <olof@...om.net> To: Stephen Rothwell <sfr@...b.auug.org.au> Cc: Greg KH <greg@...ah.com>, Greg KH <gregkh@...e.de>, linux-kernel@...r.kernel.org, Chris Wedgwood <reviews@...cw.f00f.org>, linuxppc-dev@...abs.org, paulus@...ba.org, tgall.foo@...il.com, Thomas Gleixner <tglx@...utronix.de>, Linus Torvalds <torvalds@...ux-foundation.org>, stable@...nel.org Subject: [PATCH v2] powerpc: don't enable cpu hotplug on mpic-based pseries Don't allow cpu hotplug on systems lacking XICS interrupt controller, since current code is hardcoded for it. Signed-off-by: Olof Johansson <olof@...om.net> --- On Wed, Oct 10, 2007 at 10:18:26AM +1000, Stephen Rothwell wrote: > > + struct device_node *np; > > + const char *typep; > > + > > + for (np = NULL; (np = of_find_node_by_name(np, > > + "interrupt-controller"));) { > > + typep = of_get_property(np, "compatible", NULL); > > + if (strstr(typep, "open-pic")) { > > + printk(KERN_INFO "CPU Hotplug not supported on " > > + "systems using MPIC\n"); > > You need an of_node_put(np) here. Grmbl, you're right. pseries_discover_pic() doesn't have one, that's where I took the above logic from. So we're obviously already leaking device node references. Still, no reason to make it worse. -Olof diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index 9711eb0..ae85fc0 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c @@ -252,6 +252,21 @@ static struct notifier_block pseries_smp_nb = { static int __init pseries_cpu_hotplug_init(void) { + struct device_node *np; + const char *typep; + + for (np = NULL; (np = of_find_node_by_name(np, + "interrupt-controller"));) { + typep = of_get_property(np, "compatible", NULL); + if (strstr(typep, "open-pic")) { + of_node_put(np); + + printk(KERN_INFO "CPU Hotplug not supported on " + "systems using MPIC\n"); + return 0; + } + } + rtas_stop_self_args.token = rtas_token("stop-self"); qcss_tok = rtas_token("query-cpu-stopped-state"); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists