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