6.7: Update defconfig to 6.7.0-arch3 and import arch/Kconfig: Default to maximum amount of ASLR bits
and wifi: ath11k: rely on mac80211 debugfs handling for vif
3a88b77d3c
7c13cc521f
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86 6.7.0-arch1 Kernel Configuration
|
# Linux/x86 6.7.0-arch3 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230801"
|
CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230801"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
@@ -882,9 +882,9 @@ CONFIG_SOFTIRQ_ON_OWN_STACK=y
|
|||||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||||
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||||
CONFIG_HAVE_EXIT_THREAD=y
|
CONFIG_HAVE_EXIT_THREAD=y
|
||||||
CONFIG_ARCH_MMAP_RND_BITS=28
|
CONFIG_ARCH_MMAP_RND_BITS=32
|
||||||
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
||||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
|
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16
|
||||||
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
|
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
|
||||||
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
||||||
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
|
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
|
||||||
|
@@ -64,3 +64,197 @@ index 2c7171e0b0010..85de313ddec29 100644
|
|||||||
select CPU_FREQ_GOV_PERFORMANCE
|
select CPU_FREQ_GOV_PERFORMANCE
|
||||||
help
|
help
|
||||||
|
|
||||||
|
From 3a88b77d3cb9f9cd8a8aee052ab479b73aeb2e80 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
||||||
|
Date: Sat, 13 Jan 2024 15:29:25 +0100
|
||||||
|
Subject: [PATCH] arch/Kconfig: Default to maximum amount of ASLR bits
|
||||||
|
|
||||||
|
To mitigate https://zolutal.github.io/aslrnt/; do this with a patch to
|
||||||
|
avoid having to enable `CONFIG_EXPERT`.
|
||||||
|
---
|
||||||
|
arch/Kconfig | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/Kconfig b/arch/Kconfig
|
||||||
|
index f4b210ab061291..837d0dbb28ea08 100644
|
||||||
|
--- a/arch/Kconfig
|
||||||
|
+++ b/arch/Kconfig
|
||||||
|
@@ -1032,7 +1032,7 @@ config ARCH_MMAP_RND_BITS
|
||||||
|
int "Number of bits to use for ASLR of mmap base address" if EXPERT
|
||||||
|
range ARCH_MMAP_RND_BITS_MIN ARCH_MMAP_RND_BITS_MAX
|
||||||
|
default ARCH_MMAP_RND_BITS_DEFAULT if ARCH_MMAP_RND_BITS_DEFAULT
|
||||||
|
- default ARCH_MMAP_RND_BITS_MIN
|
||||||
|
+ default ARCH_MMAP_RND_BITS_MAX
|
||||||
|
depends on HAVE_ARCH_MMAP_RND_BITS
|
||||||
|
help
|
||||||
|
This value can be used to select the number of bits to use to
|
||||||
|
@@ -1066,7 +1066,7 @@ config ARCH_MMAP_RND_COMPAT_BITS
|
||||||
|
int "Number of bits to use for ASLR of mmap base address for compatible applications" if EXPERT
|
||||||
|
range ARCH_MMAP_RND_COMPAT_BITS_MIN ARCH_MMAP_RND_COMPAT_BITS_MAX
|
||||||
|
default ARCH_MMAP_RND_COMPAT_BITS_DEFAULT if ARCH_MMAP_RND_COMPAT_BITS_DEFAULT
|
||||||
|
- default ARCH_MMAP_RND_COMPAT_BITS_MIN
|
||||||
|
+ default ARCH_MMAP_RND_COMPAT_BITS_MAX
|
||||||
|
depends on HAVE_ARCH_MMAP_RND_COMPAT_BITS
|
||||||
|
help
|
||||||
|
This value can be used to select the number of bits to use to
|
||||||
|
|
||||||
|
From 7c13cc521f78fd261de3001dac48fd572baae671 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Benjamin Berg <benjamin.berg@intel.com>
|
||||||
|
Date: Thu, 11 Jan 2024 18:06:29 +0100
|
||||||
|
Subject: [PATCH] wifi: ath11k: rely on mac80211 debugfs handling for vif
|
||||||
|
|
||||||
|
mac80211 started to delete debugfs entries in certain cases, causing a
|
||||||
|
conflict between ath11k also trying to delete them later on. Fix this by
|
||||||
|
relying on mac80211 to delete the entries when appropriate and adding
|
||||||
|
them from the vif_add_debugfs handler.
|
||||||
|
|
||||||
|
Fixes: 0a3d898ee9a8 ("wifi: mac80211: add/remove driver debugfs entries as appropriate")
|
||||||
|
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=218364
|
||||||
|
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
|
||||||
|
Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/18
|
||||||
|
---
|
||||||
|
drivers/net/wireless/ath/ath11k/core.h | 4 ----
|
||||||
|
drivers/net/wireless/ath/ath11k/debugfs.c | 25 +++++++++--------------
|
||||||
|
drivers/net/wireless/ath/ath11k/debugfs.h | 12 ++---------
|
||||||
|
drivers/net/wireless/ath/ath11k/mac.c | 12 +----------
|
||||||
|
4 files changed, 13 insertions(+), 40 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h
|
||||||
|
index f12b606e2d2e56..667d55e261560f 100644
|
||||||
|
--- a/drivers/net/wireless/ath/ath11k/core.h
|
||||||
|
+++ b/drivers/net/wireless/ath/ath11k/core.h
|
||||||
|
@@ -368,10 +368,6 @@ struct ath11k_vif {
|
||||||
|
struct ieee80211_chanctx_conf chanctx;
|
||||||
|
struct ath11k_arp_ns_offload arp_ns_offload;
|
||||||
|
struct ath11k_rekey_data rekey_data;
|
||||||
|
-
|
||||||
|
-#ifdef CONFIG_ATH11K_DEBUGFS
|
||||||
|
- struct dentry *debugfs_twt;
|
||||||
|
-#endif /* CONFIG_ATH11K_DEBUGFS */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ath11k_vif_iter {
|
||||||
|
diff --git a/drivers/net/wireless/ath/ath11k/debugfs.c b/drivers/net/wireless/ath/ath11k/debugfs.c
|
||||||
|
index be76e7d1c4366e..3ba6aa077e36d2 100644
|
||||||
|
--- a/drivers/net/wireless/ath/ath11k/debugfs.c
|
||||||
|
+++ b/drivers/net/wireless/ath/ath11k/debugfs.c
|
||||||
|
@@ -1893,35 +1893,30 @@ static const struct file_operations ath11k_fops_twt_resume_dialog = {
|
||||||
|
.open = simple_open
|
||||||
|
};
|
||||||
|
|
||||||
|
-void ath11k_debugfs_add_interface(struct ath11k_vif *arvif)
|
||||||
|
+void ath11k_debugfs_op_add_interface(struct ieee80211_hw *hw,
|
||||||
|
+ struct ieee80211_vif *vif)
|
||||||
|
{
|
||||||
|
+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif);
|
||||||
|
struct ath11k_base *ab = arvif->ar->ab;
|
||||||
|
+ struct dentry *debugfs_twt;
|
||||||
|
|
||||||
|
if (arvif->vif->type != NL80211_IFTYPE_AP &&
|
||||||
|
!(arvif->vif->type == NL80211_IFTYPE_STATION &&
|
||||||
|
test_bit(WMI_TLV_SERVICE_STA_TWT, ab->wmi_ab.svc_map)))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- arvif->debugfs_twt = debugfs_create_dir("twt",
|
||||||
|
- arvif->vif->debugfs_dir);
|
||||||
|
- debugfs_create_file("add_dialog", 0200, arvif->debugfs_twt,
|
||||||
|
+ debugfs_twt = debugfs_create_dir("twt",
|
||||||
|
+ arvif->vif->debugfs_dir);
|
||||||
|
+ debugfs_create_file("add_dialog", 0200, debugfs_twt,
|
||||||
|
arvif, &ath11k_fops_twt_add_dialog);
|
||||||
|
|
||||||
|
- debugfs_create_file("del_dialog", 0200, arvif->debugfs_twt,
|
||||||
|
+ debugfs_create_file("del_dialog", 0200, debugfs_twt,
|
||||||
|
arvif, &ath11k_fops_twt_del_dialog);
|
||||||
|
|
||||||
|
- debugfs_create_file("pause_dialog", 0200, arvif->debugfs_twt,
|
||||||
|
+ debugfs_create_file("pause_dialog", 0200, debugfs_twt,
|
||||||
|
arvif, &ath11k_fops_twt_pause_dialog);
|
||||||
|
|
||||||
|
- debugfs_create_file("resume_dialog", 0200, arvif->debugfs_twt,
|
||||||
|
+ debugfs_create_file("resume_dialog", 0200, debugfs_twt,
|
||||||
|
arvif, &ath11k_fops_twt_resume_dialog);
|
||||||
|
}
|
||||||
|
|
||||||
|
-void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif)
|
||||||
|
-{
|
||||||
|
- if (!arvif->debugfs_twt)
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
- debugfs_remove_recursive(arvif->debugfs_twt);
|
||||||
|
- arvif->debugfs_twt = NULL;
|
||||||
|
-}
|
||||||
|
diff --git a/drivers/net/wireless/ath/ath11k/debugfs.h b/drivers/net/wireless/ath/ath11k/debugfs.h
|
||||||
|
index 3af0169f6cf218..b0bdd5e5f82b22 100644
|
||||||
|
--- a/drivers/net/wireless/ath/ath11k/debugfs.h
|
||||||
|
+++ b/drivers/net/wireless/ath/ath11k/debugfs.h
|
||||||
|
@@ -306,8 +306,8 @@ static inline int ath11k_debugfs_rx_filter(struct ath11k *ar)
|
||||||
|
return ar->debug.rx_filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void ath11k_debugfs_add_interface(struct ath11k_vif *arvif);
|
||||||
|
-void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif);
|
||||||
|
+void ath11k_debugfs_op_add_interface(struct ieee80211_hw *hw,
|
||||||
|
+ struct ieee80211_vif *vif);
|
||||||
|
void ath11k_debugfs_add_dbring_entry(struct ath11k *ar,
|
||||||
|
enum wmi_direct_buffer_module id,
|
||||||
|
enum ath11k_dbg_dbr_event event,
|
||||||
|
@@ -386,14 +386,6 @@ static inline int ath11k_debugfs_get_fw_stats(struct ath11k *ar,
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline void ath11k_debugfs_add_interface(struct ath11k_vif *arvif)
|
||||||
|
-{
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static inline void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif)
|
||||||
|
-{
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static inline void
|
||||||
|
ath11k_debugfs_add_dbring_entry(struct ath11k *ar,
|
||||||
|
enum wmi_direct_buffer_module id,
|
||||||
|
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
|
||||||
|
index 7f7b3981777377..6acf11fafb22e5 100644
|
||||||
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
||||||
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
||||||
|
@@ -6750,13 +6750,6 @@ static int ath11k_mac_op_add_interface(struct ieee80211_hw *hw,
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* In the case of hardware recovery, debugfs files are
|
||||||
|
- * not deleted since ieee80211_ops.remove_interface() is
|
||||||
|
- * not invoked. In such cases, try to delete the files.
|
||||||
|
- * These will be re-created later.
|
||||||
|
- */
|
||||||
|
- ath11k_debugfs_remove_interface(arvif);
|
||||||
|
-
|
||||||
|
memset(arvif, 0, sizeof(*arvif));
|
||||||
|
|
||||||
|
arvif->ar = ar;
|
||||||
|
@@ -6933,8 +6926,6 @@ static int ath11k_mac_op_add_interface(struct ieee80211_hw *hw,
|
||||||
|
|
||||||
|
ath11k_dp_vdev_tx_attach(ar, arvif);
|
||||||
|
|
||||||
|
- ath11k_debugfs_add_interface(arvif);
|
||||||
|
-
|
||||||
|
if (vif->type != NL80211_IFTYPE_MONITOR &&
|
||||||
|
test_bit(ATH11K_FLAG_MONITOR_CONF_ENABLED, &ar->monitor_flags)) {
|
||||||
|
ret = ath11k_mac_monitor_vdev_create(ar);
|
||||||
|
@@ -7050,8 +7041,6 @@ static void ath11k_mac_op_remove_interface(struct ieee80211_hw *hw,
|
||||||
|
/* Recalc txpower for remaining vdev */
|
||||||
|
ath11k_mac_txpower_recalc(ar);
|
||||||
|
|
||||||
|
- ath11k_debugfs_remove_interface(arvif);
|
||||||
|
-
|
||||||
|
/* TODO: recal traffic pause state based on the available vdevs */
|
||||||
|
|
||||||
|
mutex_unlock(&ar->conf_mutex);
|
||||||
|
@@ -9149,6 +9138,7 @@ static const struct ieee80211_ops ath11k_ops = {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ATH11K_DEBUGFS
|
||||||
|
+ .vif_add_debugfs = ath11k_debugfs_op_add_interface,
|
||||||
|
.sta_add_debugfs = ath11k_debugfs_sta_op_add,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user