diff options
| author | Kenneth D. Merry <ken@FreeBSD.org> | 1998-09-16 00:11:53 +0000 |
|---|---|---|
| committer | Kenneth D. Merry <ken@FreeBSD.org> | 1998-09-16 00:11:53 +0000 |
| commit | 66a0780e8ef2dae0417114d7a8b7bdb03dae806c (patch) | |
| tree | 36437335df022d02c21dc903ef674cabb84731cf | |
| parent | 90377c4bc7bacb9b55e844c2776708e9910449f7 (diff) | |
Notes
| -rw-r--r-- | sys/cam/cam_xpt.c | 8 | ||||
| -rw-r--r-- | sys/cam/scsi/scsi_pass.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index bc7e7c647388..418e0088e4e4 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cam_xpt.c,v 1.1 1998/09/15 06:33:23 gibbs Exp $ + * $Id: cam_xpt.c,v 1.2 1998/09/15 22:05:44 gibbs Exp $ */ #include <sys/param.h> #include <sys/systm.h> @@ -633,6 +633,12 @@ xptopen(dev_t dev, int flags, int fmt, struct proc *p) unit = minor(dev) & 0xff; /* + * Only allow read-write access. + */ + if (((flags & FWRITE) == 0) || ((flags & FREAD) == 0)) + return(EPERM); + + /* * We don't allow nonblocking access. */ if ((flags & O_NONBLOCK) != 0) { diff --git a/sys/cam/scsi/scsi_pass.c b/sys/cam/scsi/scsi_pass.c index f16b11ea1f3e..cc29ae408578 100644 --- a/sys/cam/scsi/scsi_pass.c +++ b/sys/cam/scsi/scsi_pass.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: scsi_pass.c,v 1.1 1998/09/15 06:36:34 gibbs Exp $ */ #include <sys/param.h> @@ -390,6 +390,12 @@ passopen(dev_t dev, int flags, int fmt, struct proc *p) return(ENXIO); /* + * Only allow read-write access. + */ + if (((flags & FWRITE) == 0) || ((flags & FREAD) == 0)) + return(EPERM); + + /* * We don't allow nonblocking access. */ if ((flags & O_NONBLOCK) != 0) { |
