Unverified Commit db56723c authored by Christian Brauner's avatar Christian Brauner
Browse files

pidfs: detect refcount bugs

Now that we have pidfs_{get,register}_pid() that needs to be paired with
pidfs_put_pid() it's possible that someone pairs them with put_pid().
Thus freeing struct pid while it's still used by pidfs. Notice when that
happens. I'll also add a scheme to detect invalid uses of
pidfs_get_pid() and pidfs_put_pid() later.

Link: https://lore.kernel.org/20250506-uferbereich-guttun-7c8b1a0a431f@brauner


Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 4dd6566b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ void put_pid(struct pid *pid)

	ns = pid->numbers[pid->level].ns;
	if (refcount_dec_and_test(&pid->count)) {
		WARN_ON_ONCE(pid->stashed);
		kmem_cache_free(ns->pid_cachep, pid);
		put_pid_ns(ns);
	}