Messages in this thread |  | | | Date | Fri, 6 Aug 2004 10:26:46 -0700 (PDT) | | From | dleonard@dleonard ... | | Subject | Re: ide-cd problems |
| |
On Fri, 6 Aug 2004, Jens Axboe wrote:
> On Fri, Aug 06 2004, Alan Cox wrote: > > On Gwe, 2004-08-06 at 07:23, Jens Axboe wrote: > > > Perhaps if you acknowledge that it wont be perfect, then it's becomes > > > more acceptable imo. So you can issue some commands that do write to the > > > drive even as a regular user, but none that permanently alter the state > > > of the drive or its media (to the best of our knowledge). Other commands > > > you let through. > > > > The code you included is roughly the kind of filtering I mean except > > that unknown commands must not get through without CAP_SYS_RAWIO. > > Anything that is doubtful doesn't get through. As to the location you do > > it there are at least two ways to handle that. One is that you stick the > > CAP_SYS_RAWIO of the requester in a flag in the request block the other > > is that you do it at the top layer. Some BSD socket implementations take > > the former approach and it works very well as the driver can make a > > final decision but is told the rights attached to the command. > > > > So once its > > > > switch() > > { > > case READ6: > > case READ10: > > ... > > /* Always */ > > break; > > case WRITE6: > > case WRITE10: > > ... > > /* if write */ > > default: > > if(capable(CAP_SYS_RAWIO)) > > /* Only administrators get to do arbitary things */ > > > > I agree with it. > > That's the case I don't agree with, and why I didn't like the idea > originally. That suddenly requires a patching of the kernel because of > new commands in new devices. Like when dvd readers became common, you > can't just require people to update their kernel because a few new > commands are needed to drive them from user space.
This is no different from having to build a new kernel whenever you happen to install a new revision of a videocard, nic, scsi controller, or random other device new enough that its pci_id isn't in pci_ids.h. New features and new devices frequently require new kernels.
Allowing specific commands while disallowing unknown commands to standard users is a far better scenario than any other proposals I've heard so far.
-- Douglas Leonard dleonard@dleonard.net
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |