Messages in this thread | | | Date | Tue, 22 May 2001 01:57:14 +0100 | From | Matthew Wilcox <> | Subject | Re: [RFD w/info-PATCH] device arguments from lookup, partion code |
| |
On Tue, May 22, 2001 at 02:22:34AM +0200, Ingo Oeser wrote: > ioctl has actually 4 semantics: > > command only > command + read > command + write > command + rw-transaction > > Separating these would be a first step. And yes, I consider each > of them useful. > > command only: reset drive
echo 'reset' >/dev/sg0ctl
> command + rw-transaction: "dear device please mangle this data" > (crypto processors come to mind...)
I can't think of a reasonable tool-based approach to this, but I can definitely see that a program could use this well. It simply requires that you use the filp to store your state.
fd = open(/dev/crypto) -> creates filp write(fd, "Death to all fanatics!\n"); -> calls crypto device, stores result in private data structure sleep(100); read(fd, "Qrngu gb nyy snangvpf!\n"); -> frees data structure
[You'll note the advanced design of my crypto processor.]
Clearly, this is open to abuse by persons never calling read() and passing in far too much to write(). I think this can be alleviated by refusing to accept more than (say) 4k at a time, or bean-counter.
A sick way would be to allow the ->write() call to have its buffer modified. But I don't think we want to go down that path.
-- Revolutions do not require corporate support. - 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/
| |