On Tue, Jul 30, 2024 at 03:29:20AM +0000, Xiu Jianfeng wrote: > From: Xiu Jianfeng <xiujianfeng@xxxxxxxxxx> > > Currently when a process in a group forks and fails due to it's > parent's max restriction, all the cgroups from 'pids_forking' to root > will generate event notifications but only the cgroups from > 'pids_over_limit' to root will increase the counter of PIDCG_MAX. > > Consider this scenario: there are 4 groups A, B, C,and D, the > relationships are as follows, and user is watching on C.pids.events. > > root->A->B->C->D > > When a process in D forks and fails due to B.max restriction, the > user will get a spurious event notification because when he wakes up > and reads C.pids.events, he will find that the content has not changed. > > To address this issue, only the cgroups from 'pids_over_limit' to root > will have their PIDCG_MAX counters increased and event notifications > generated. > > Fixes: 385a635cacfe ("cgroup/pids: Make event counters hierarchical") > Signed-off-by: Xiu Jianfeng <xiujianfeng@xxxxxxxxxx> Applied to cgroup/for-6.12. Note that spurious events are explicitly allowed. Anyone watching an events file should keep track of the reported values to detect actual events. Thanks. -- tejun