Messages in this thread | | | Subject | Re: [patch] For 2.4: syscall revoke. | Date | Fri, 13 Oct 2000 19:26:09 +0100 (BST) | From | Alan Cox <> |
| |
> 1) one process does read() on device, another does revoke() > followed by rmmod. Oops - nothing holds module in memory, the first > process is executing code from that module (->read(), that is) and > we unmap that code. > > 2) every access to ->f_op suddenly becomes unsafe. Basically the > same scenario, but here we have the window between fetching ->f_op and > calling ->f_op->foo. You have no exclusion here, and even if you had, you > still got #1 to deal with.
Is #2 actually a problem if #1 is ok. We don't destroy f_ops tables except on a module unload. Another thing that is arguable is that revoke() should not return until the revocation is completed. That would solve #1 in the process I belive ?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |