--- /dev/null
+From d6b484b5cb2a7d509b36a220911509ddd8b777c4 Mon Sep 17 00:00:00 2001\r
+From: Azeem Shaikh <azeemshaikh38@gmail.com>\r
+Date: Mon, 3 Jul 2023 18:12:56 +0000\r
+Subject: wifi: mt76: Replace strlcpy() with strscpy()\r
+\r
+strlcpy() reads the entire source buffer first.\r
+This read may exceed the destination size limit.\r
+This is both inefficient and can lead to linear read\r
+overflows if a source string is not NUL-terminated [1].\r
+In an effort to remove strlcpy() completely [2], replace\r
+strlcpy() here with strscpy().\r
+\r
+Direct replacement is safe here since DEV_ASSIGN is only used by\r
+TRACE macros and the return values are ignored.\r
+\r
+[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy\r
+[2] https://github.com/KSPP/linux/issues/89\r
+\r
+Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>\r
+Reviewed-by: Kees Cook <keescook@chromium.org>\r
+Signed-off-by: Kalle Valo <kvalo@kernel.org>\r
+Link: https://lore.kernel.org/r/20230703181256.3712079-1-azeemshaikh38@gmail.com\r
+---\r
+ mt7615/mt7615_trace.h | 2 +-\r
+ mt76x02_trace.h | 2 +-\r
+ trace.h | 2 +-\r
+ usb_trace.h | 2 +-\r
+ 4 files changed, 4 insertions(+), 4 deletions(-)\r
+\r
+--- a/mt7615/mt7615_trace.h
++++ b/mt7615/mt7615_trace.h
+@@ -14,7 +14,7 @@
+
+ #define MAXNAME 32
+ #define DEV_ENTRY __array(char, wiphy_name, 32)
+-#define DEV_ASSIGN strlcpy(__entry->wiphy_name, \
++#define DEV_ASSIGN strscpy(__entry->wiphy_name, \
+ wiphy_name(mt76_hw(dev)->wiphy), MAXNAME)
+ #define DEV_PR_FMT "%s"
+ #define DEV_PR_ARG __entry->wiphy_name
+--- a/mt76x02_trace.h
++++ b/mt76x02_trace.h
+@@ -14,7 +14,7 @@
+
+ #define MAXNAME 32
+ #define DEV_ENTRY __array(char, wiphy_name, 32)
+-#define DEV_ASSIGN strlcpy(__entry->wiphy_name, \
++#define DEV_ASSIGN strscpy(__entry->wiphy_name, \
+ wiphy_name(mt76_hw(dev)->wiphy), MAXNAME)
+ #define DEV_PR_FMT "%s"
+ #define DEV_PR_ARG __entry->wiphy_name
+--- a/trace.h
++++ b/trace.h
+@@ -14,7 +14,7 @@
+
+ #define MAXNAME 32
+ #define DEV_ENTRY __array(char, wiphy_name, 32)
+-#define DEVICE_ASSIGN strlcpy(__entry->wiphy_name, \
++#define DEVICE_ASSIGN strscpy(__entry->wiphy_name, \
+ wiphy_name(dev->hw->wiphy), MAXNAME)
+ #define DEV_PR_FMT "%s"
+ #define DEV_PR_ARG __entry->wiphy_name
+--- a/usb_trace.h
++++ b/usb_trace.h
+@@ -14,7 +14,7 @@
+
+ #define MAXNAME 32
+ #define DEV_ENTRY __array(char, wiphy_name, 32)
+-#define DEV_ASSIGN strlcpy(__entry->wiphy_name, \
++#define DEV_ASSIGN strscpy(__entry->wiphy_name, \
+ wiphy_name(dev->hw->wiphy), MAXNAME)
+ #define DEV_PR_FMT "%s "
+ #define DEV_PR_ARG __entry->wiphy_name