Bluetooth: Add support for trust verification of management commands
Check the required trust level of each management command with the trust level of the management socket. If it does not match up, then return the newly introduced permission denied error. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:

committed by
Johan Hedberg

parent
7aea8616cd
commit
c927a10487
@@ -6379,6 +6379,13 @@ int mgmt_control(struct hci_mgmt_chan *chan, struct sock *sk,
|
||||
|
||||
handler = &chan->handlers[opcode];
|
||||
|
||||
if (!hci_sock_test_flag(sk, HCI_SOCK_TRUSTED) &&
|
||||
!(handler->flags & HCI_MGMT_UNTRUSTED)) {
|
||||
err = mgmt_cmd_status(sk, index, opcode,
|
||||
MGMT_STATUS_PERMISSION_DENIED);
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (index != MGMT_INDEX_NONE) {
|
||||
hdev = hci_dev_get(index);
|
||||
if (!hdev) {
|
||||
|
Reference in New Issue
Block a user