svn commit: r205969 - stable/7/sys/dev/ata
Alexander Motin
mav at FreeBSD.org
Wed Mar 31 07:52:49 UTC 2010
Author: mav
Date: Wed Mar 31 07:52:48 2010
New Revision: 205969
URL: http://svn.freebsd.org/changeset/base/205969
Log:
MFC r205074:
Mask disk_idx to avoid panic because of extra bits set.
PR: kern/102211
Submitted by: yoichi
Modified:
stable/7/sys/dev/ata/ata-raid.c
Directory Properties:
stable/7/sys/ (props changed)
stable/7/sys/cddl/contrib/opensolaris/ (props changed)
stable/7/sys/contrib/dev/acpica/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
Modified: stable/7/sys/dev/ata/ata-raid.c
==============================================================================
--- stable/7/sys/dev/ata/ata-raid.c Wed Mar 31 07:49:59 2010 (r205968)
+++ stable/7/sys/dev/ata/ata-raid.c Wed Mar 31 07:52:48 2010 (r205969)
@@ -2535,22 +2535,24 @@ ata_raid_intel_read_meta(device_t dev, s
/* clear out any old info */
for (disk = 0; disk < raid->total_disks; disk++) {
+ u_int disk_idx = map->disk_idx[disk] & 0xffff;
+
raid->disks[disk].dev = NULL;
- bcopy(meta->disk[map->disk_idx[disk]].serial,
+ bcopy(meta->disk[disk_idx].serial,
raid->disks[disk].serial,
sizeof(raid->disks[disk].serial));
raid->disks[disk].sectors =
- meta->disk[map->disk_idx[disk]].sectors;
+ meta->disk[disk_idx].sectors;
raid->disks[disk].flags = 0;
- if (meta->disk[map->disk_idx[disk]].flags & INTEL_F_ONLINE)
+ if (meta->disk[disk_idx].flags & INTEL_F_ONLINE)
raid->disks[disk].flags |= AR_DF_ONLINE;
- if (meta->disk[map->disk_idx[disk]].flags & INTEL_F_ASSIGNED)
+ if (meta->disk[disk_idx].flags & INTEL_F_ASSIGNED)
raid->disks[disk].flags |= AR_DF_ASSIGNED;
- if (meta->disk[map->disk_idx[disk]].flags & INTEL_F_SPARE) {
+ if (meta->disk[disk_idx].flags & INTEL_F_SPARE) {
raid->disks[disk].flags &= ~(AR_DF_ONLINE | AR_DF_ASSIGNED);
raid->disks[disk].flags |= AR_DF_SPARE;
}
- if (meta->disk[map->disk_idx[disk]].flags & INTEL_F_DOWN)
+ if (meta->disk[disk_idx].flags & INTEL_F_DOWN)
raid->disks[disk].flags &= ~AR_DF_ONLINE;
}
}
More information about the svn-src-stable-7
mailing list