mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
wifi: mac80211: don't send keys to driver when fips_enabled
When fips_enabled is set, don't send any keys to the driver (including possibly WoWLAN KEK/KCK material), assuming that no device exists with the necessary certifications. If this turns out to be false in the future, we can add a HW flag. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250709233537.e5eebc2b19d8.I968ef8c9ffb48d464ada78685bd25d22349fb063@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright 2015 Intel Deutschland GmbH
|
||||
* Copyright (C) 2022-2024 Intel Corporation
|
||||
* Copyright (C) 2022-2025 Intel Corporation
|
||||
*/
|
||||
#include <net/mac80211.h>
|
||||
#include "ieee80211_i.h"
|
||||
@@ -515,6 +515,9 @@ int drv_set_key(struct ieee80211_local *local,
|
||||
!(sdata->vif.active_links & BIT(key->link_id))))
|
||||
return -ENOLINK;
|
||||
|
||||
if (fips_enabled)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
trace_drv_set_key(local, cmd, sdata, sta, key);
|
||||
ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key);
|
||||
trace_drv_return_int(local, ret);
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#ifndef __MAC80211_DRIVER_OPS
|
||||
#define __MAC80211_DRIVER_OPS
|
||||
|
||||
#include <linux/fips.h>
|
||||
#include <net/mac80211.h>
|
||||
#include "ieee80211_i.h"
|
||||
#include "trace.h"
|
||||
@@ -902,6 +903,9 @@ static inline void drv_set_rekey_data(struct ieee80211_local *local,
|
||||
if (!check_sdata_in_driver(sdata))
|
||||
return;
|
||||
|
||||
if (fips_enabled)
|
||||
return;
|
||||
|
||||
trace_drv_set_rekey_data(local, sdata, data);
|
||||
if (local->ops->set_rekey_data)
|
||||
local->ops->set_rekey_data(&local->hw, &sdata->vif, data);
|
||||
|
||||
Reference in New Issue
Block a user