Re: 2.6.10-rc1-mm3: ACPI problem due to un-exported hotplug_path

Kay Sievers
2004-11-05T20:10:12Z

On Fri, Nov 05, 2004 at 10:05:13AM -0800, Greg KH wrote:
> On Fri, Nov 05, 2004 at 05:45:23PM +0100, Adrian Bunk wrote:
> > The following error (compin from Linus' tree) is caused by the fact that
> > hotplug_path is no longer EXPORT_SYMBOL'ed:
> >
> >
> > <-- snip -->
> >
> > if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.10-rc1-mm3; fi
> > WARNING: /lib/modules/2.6.10-rc1-mm3/kernel/drivers/acpi/container.ko needs unknown symbol hotplug_path
> >
> > <-- snip -->
>
> Hm, must be an -mm specific change that is causing this. I don't see
> this in the current tree.
>
> Len, why would any ACPI code be wanting to get access to hotplug_path
> directly?

I've found it. This wants to introduce a new direct /sbin/hotplug call,
with "add" and "remove" events, without sysfs support.

It should use class support or kobject_hotplug() instead. Nobody should
fake hotplug events anymore, cause every other notification transport
will not get called (currently uevent over netlink).
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/broken-out/bk-acpi.patch

+static int
+container_run_sbin_hotplug(struct acpi_device *device, char *action)
+{
...
+ argv[i++] = hotplug_path;
+ argv[i++] = "container";
+ argv[i] = NULL;
...
+ i = 0;
+ envp[i++] = "HOME=/";
+ envp[i++] = "PATH=/sbin;/bin;/usr/sbin;/usr/bin";
+ envp[i++] = action_str;
+ envp[i++] = container_str;
+ envp[i++] = "PLATFORM=ACPI";
+ envp[i] = NULL;
...

Thanks,
Kay