From: Denis Vlasenko Date: Sat, 29 Mar 2008 16:07:46 +0000 (-0000) Subject: mdev: fix block/char device detection. Closes bug 2144. X-Git-Tag: 1_11_0~390 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=aa8a601084f7f0fc74fc561e12b42f8d7e3a6fe9;p=oweals%2Fbusybox.git mdev: fix block/char device detection. Closes bug 2144. --- diff --git a/util-linux/mdev.c b/util-linux/mdev.c index c4c4350a4..c8d603bcf 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c @@ -69,7 +69,9 @@ static void make_device(char *path, int delete) /* Determine device name, type, major and minor */ device_name = bb_basename(path); - type = (path[5] == 'c' ? S_IFCHR : S_IFBLK); /* "/sys/[c]lass"? */ + /* http://kernel.org/doc/pending/hotplug.txt says that only + * "/sys/block/..." is for block devices. "sys/bus" etc is not! */ + type = (strncmp(&path[5], "block/", 6) == 0 ? S_IFBLK : S_IFCHR); if (ENABLE_FEATURE_MDEV_CONF) { FILE *fp;