>       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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to