Date: Sat, 17 Jun 1995 07:38:35 -0400 (EDT) From: Peter Dufault <dufault@hda.com> To: gena@NetVision.net.il (Gennady B. Sorokopud) Cc: tomppa@zeta.fidata.fi, hackers@FreeBSD.org, gena@NetVision.net.il Subject: Re: SCIOCCOMMAND ioctl - permission denied Message-ID: <199506171138.HAA11954@hda.com> In-Reply-To: <XFMail.950617113414.gena@NetVision.net.il> from "Gennady B. Sorokopud" at Jun 17, 95 11:59:58 am
next in thread | previous in thread | raw e-mail | index | archive | help
Gennady B. Sorokopud writes: > > Hello! > > I'm author of xmcd port to FreeBSD platform. > I received some reports from users that claims that xmcd SCSI > interface does not work any more on 2.0.5R. > > After some checking i find out that SCIOCCOMMAND ioctl always fail > with "permission denied". > > Looking at /sys/scsi/scsi_ioctl.c line 260: > > /* If we can't write the device we can't permit much: > */ > if (cmd != SCIOCIDENTIFY && !(flags & FWRITE)) > return EACCES; > > After commenting out this 2 lines and recompiling the kernel > xmcd started to work fine. > > All i need to know is how to call this ioctl so it will not fail. You are probably opening the device O_RDONLY. The SCIOCCOMMAND ioctl beginning in 2.05 is considered 'destructive' and requires write access to the device (even for a CD-ROM). This is different from write permission to open the device. This is because I can't tell which SCIOCCOMMANDs do things (change the mode on the device, eject the CD, etc) that you want to restrict. Otherwise someone could open the CD device read-only, allow removal, change the modes, eject the device, etc. I can't protect based on whether you read or write data, since many destructive commands don't transfer data. Sorry, I should have considered this problem with existing programs. I hate to see your program break this way on 2.05. Are there any ideas for better ways to handle this? Peter -- Peter Dufault Real Time Machine Control and Simulation HD Associates, Inc. Voice: 508 433 6936 dufault@hda.com Fax: 508 433 5267
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506171138.HAA11954>