Re: [NEW-PATCH!][2.1.71] BSD revoke() syscall

Bill Hawes (whawes@star.net)
Wed, 10 Dec 1997 10:18:00 -0500


Matthew Kirkwood wrote:
> OK. Find attached a shiny new patch which does what you suggest. Am
> I right in thinking that only the creation and deletion of struct f_op's
> actually needs to know their size?
>
> Hmm... well, the races are still here in the new patch anyway.
> And I think that there must be a few syscalls which don't get
> covered by this, like poll() and select(), etc...?

Not meaning to pile more work onto your efforts, but ...

The more serious problem with the current files usage (and tangentially
related to the revoke() issue) is the problem with one clone process
closing a file out from under another clone using the same files
structure. I think this needs to be handled by wrapping access to the
files with a get_file()/put_file() operation, which would then
increment/decrement the use count in the file structure.

This would need to be done everywhere that the files structure is
accessed, and the put_file has to be on all the exit paths, so it's a
substantial set of changes.

Also, I think there's still an effort to rework the files structure
allocation (Zlatko Calusic was working on this.) So probably these
efforts should be coordinated, as the patches will collide terribly
otherwise.

Regards,
Bill