mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-10-22 19:14:51 +00:00
Per family bind/unbind callbacks were introduced to allow families
to track multicast group consumer presence, e.g. to start or stop
producing events depending on listeners.
However, in genl_bind() the bind() callback was invoked even if
capability checks failed and ret was set to -EPERM. This means that
callbacks could run on behalf of unauthorized callers while the
syscall still returned failure to user space.
Fix this by only invoking bind() after "if (ret) break;" check
i.e. after permission checks have succeeded.
Fixes:
|
History
|
|
|---|---|---|
| .. | ||
| af_netlink.c | ||
| af_netlink.h | ||
| diag.c | ||
| genetlink.c | ||
| genetlink.h | ||
| Kconfig | ||
| Makefile | ||
| policy.c | ||