On Tue, Dec 17, 2019 at 4:28 AM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > Recently noticed that we're tracking programs related to local storage maps > through their prog pointer. This is a wrong assumption since the prog pointer > can still change throughout the verification process, for example, whenever > bpf_patch_insn_single() is called. > > Therefore, the prog pointer that was assigned via bpf_cgroup_storage_assign() > is not guaranteed to be the same as we pass in bpf_cgroup_storage_release() > and the map would therefore remain in busy state forever. Fix this by using > the prog's aux pointer which is stable throughout verification and beyond. > > Fixes: de9cbbaadba5 ("bpf: introduce cgroup storage maps") > Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > Cc: Roman Gushchin <guro@xxxxxx> > Cc: Martin KaFai Lau <kafai@xxxxxx> Applied. Thanks