Hello Richard,
On Monday, January 9, 2023 10:08:04 PM EST Richard Guy Briggs wrote:
When I use an application that expected the old API, meaning it
simply
does:
>
> response.fd = metadata->fd;
> response.response = reply;
> close(metadata->fd);
> write(fd, &response, sizeof(struct fanotify_response));
>
> I get access denials. Every time. If the program is using the new API and
> sets FAN_INFO, then it works as expected. I'll do some more testing but I
> think there is something wrong in the compatibility path.
I'll have a closer look, because this wasn't the intended behaviour.
I have done more testing. I think what I saw might have been caused by a
stale selinux label (label exists, policy is deleted). With selinux in
permissive mode it's all working as expected - both old and new API.
-Steve