Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audit linux filter create/free enable/disable functions for correct behaviour #126

Open
arr2036 opened this issue Mar 20, 2022 · 0 comments
Assignees
Labels

Comments

@arr2036
Copy link
Collaborator

arr2036 commented Mar 20, 2022

On fork all knotes associated with kqueues in the child are marked as disabled, the kqueues are then closed/freed which frees filter resources and knotes.

The filter knote free code needs to be audited to ensure that the registration state of any file descriptors with epoll is not altered in the child, as these changes will fail due to the child's kqueue's epoll handle being closed on fork.

The reason we close the epoll handle is because the parent and child will share the epoll instances, and modifications in the child would affect the parent.

The main purpose of the audit is to ensure we don't produce spurious errors and to ensure that the error paths in the filters don't have any side effects.

Audit has been completed for user events. I suspect the read filter is the one we'll have the most difficulty with.

@arr2036 arr2036 added the bug label Mar 20, 2022
@arr2036 arr2036 self-assigned this Mar 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant