Neil Brown: Make sure sysfs_read never succeeds for a non-MD device.

Martin F. Krafft madduck at alioth.debian.org
Wed Jun 25 15:42:22 UTC 2008


Module: mdadm
Branch: build
Commit: 2faf1f5f635419a922cf0072c435a23a78b793a7
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=2faf1f5f635419a922cf0072c435a23a78b793a7

Author: Neil Brown <neilb at suse.de>
Date:   Fri Dec 14 20:13:51 2007 +1100

Make sure sysfs_read never succeeds for a non-MD device.

... just in case.

---

 sysfs.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/sysfs.c b/sysfs.c
index 16744f1..1dbc680 100644
--- a/sysfs.c
+++ b/sysfs.c
@@ -76,7 +76,10 @@ struct sysarray *sysfs_read(int fd, int devnum, unsigned long options)
 
 	if (fd >= 0) {
 		struct stat stb;
-		if (fstat(fd, &stb)) return NULL;
+		mdu_version_t vers;
+ 		if (fstat(fd, &stb)) return NULL;
+		if (ioctl(fd, RAID_VERSION, &vers) != 0)
+			return NULL;
 		if (major(stb.st_rdev)==9)
 			sprintf(sra->name, "md%d", minor(stb.st_rdev));
 		else




More information about the pkg-mdadm-commits mailing list