diff options
author | Neil Brown <neilb@suse.de> | 2007-12-14 20:13:51 +1100 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2007-12-14 20:13:51 +1100 |
commit | 2faf1f5f635419a922cf0072c435a23a78b793a7 (patch) | |
tree | 7355ea91471a060372ddef16d884eeccc4e46a22 /sysfs.c | |
parent | aba69144fd44fc261c943b0cec540751cfcd29bd (diff) | |
download | mdadm-2faf1f5f635419a922cf0072c435a23a78b793a7.tar.gz mdadm-2faf1f5f635419a922cf0072c435a23a78b793a7.tar.xz mdadm-2faf1f5f635419a922cf0072c435a23a78b793a7.zip |
Make sure sysfs_read never succeeds for a non-MD device.
... just in case.
Diffstat (limited to 'sysfs.c')
-rw-r--r-- | sysfs.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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 |