]> git.baikalelectronics.ru Git - kernel.git/commit
net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
authorPetr Machata <petrm@nvidia.com>
Mon, 11 Jan 2021 17:07:07 +0000 (18:07 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Jan 2021 23:55:21 +0000 (15:55 -0800)
commit34f3ca3902dec74fbf21b0ae3131813492fa7be7
treee0873bd72df966184f20adacec30a1f2d42b6ea1
parent82f0eeb0d918673ac6cb15152aa962044738ecf7
net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands

In commit 3d9f7ada316e ("net: dcb: Validate netlink message in DCB
handler"), Linux started rejecting RTM_GETDCB netlink messages if they
contained a set-like DCB_CMD_ command.

The reason was that privileges were only verified for RTM_SETDCB messages,
but the value that determined the action to be taken is the command, not
the message type. And validation of message type against the DCB command
was the obvious missing piece.

Unfortunately it turns out that mlnx_qos, a somewhat widely deployed tool
for configuration of DCB, accesses the DCB set-like APIs through
RTM_GETDCB.

Therefore do not bounce the discrepancy between message type and command.
Instead, in addition to validating privileges based on the actual message
type, validate them also based on the expected message type. This closes
the loophole of allowing DCB configuration on non-admin accounts, while
maintaining backward compatibility.

Fixes: 12513dde3b94 ("ixgbe: this patch adds support for DCB to the kernel and ixgbe driver")
Fixes: 3d9f7ada316e ("net: dcb: Validate netlink message in DCB handler")
Signed-off-by: Petr Machata <petrm@nvidia.com>
Link: https://lore.kernel.org/r/a3edcfda0825f2aa2591801c5232f2bbf2d8a554.1610384801.git.me@pmachata.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/dcb/dcbnl.c