]> git.ipfire.org Git - thirdparty/mdadm.git/commit
mdopen: add sbin path to env PATH when call system("modprobe md_mod")
authorColy Li <colyli@suse.de>
Wed, 22 Jan 2025 15:18:59 +0000 (23:18 +0800)
committerMariusz Tkaczyk <mtkaczyk@kernel.org>
Mon, 27 Jan 2025 09:11:40 +0000 (10:11 +0100)
commitb1ee932b89a16c881a3336f9fd728d46c1f8c65d
treeb0a58980164c4246311e13e5f9f8bfed15eab13a
parente0df6c4c984d564e9e40913727e916a6cd8f466e
mdopen: add sbin path to env PATH when call system("modprobe md_mod")

During the boot process if mdadm is called in udev context, sbin paths
like /sbin, /usr/sbin, /usr/local/sbin normally not defined in PATH env
variable, calling system("modprobe md_mod") in create_named_array() may
fail with 'sh: modprobe: command not found' error message.

We don't want to move modprobe binary into udev private directory, so
setting the PATH env is a more proper method to avoid the above issue.

This patch sets PATH env variable with "/sbin:/usr/sbin:/usr/local/sbin"
before calling system("modprobe md_mod"). The change only takes effect
within the udev worker context, not seen by global udev environment.

Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Mariusz Tkaczyk <mtkaczyk@kernel.org>
mdopen.c