Date: Sat, 14 Feb 1998 22:31:08 -0600 From: Chris Csanady <ccsanady@friley585.res.iastate.edu> To: freebsd-current@FreeBSD.ORG Subject: CCD missing spl() call.. Message-ID: <199802150431.WAA00428@friley585.res.iastate.edu>
next in thread | raw e-mail | index | archive | help
There is also a off by one error in the handling of the
partitions. Credit goes to OpenBSD for these. There are
numerous other changes that would be worth integrating
as well..
Chris
*** ccd.c.old Sat Feb 14 22:27:17 1998
--- ccd.c Sat Feb 14 20:27:12 1998
***************
*** 631,637 ****
ccdgetdisklabel(dev);
/* Check that the partition exists. */
! if (part != RAW_PART && ((part > lp->d_npartitions) ||
(lp->d_partitions[part].p_fstype == FS_UNUSED))) {
error = ENXIO;
goto done;
--- 631,637 ----
ccdgetdisklabel(dev);
/* Check that the partition exists. */
! if (part != RAW_PART && ((part >= lp->d_npartitions) ||
(lp->d_partitions[part].p_fstype == FS_UNUSED))) {
error = ENXIO;
goto done;
***************
*** 973,978 ****
--- 973,979 ----
register int unit = cbp->cb_unit;
int count, s;
+ s = splbio();
#ifdef DEBUG
if (ccddebug & CCDB_FOLLOW)
printf("ccdiodone(%x)\n", cbp);
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802150431.WAA00428>
