[PATCH net-next 1/4] netconsole: Ensure dynamic_netconsole_mutex is held during userdata update

From: Breno Leitao
Date: Wed Nov 13 2024 - 10:11:51 EST


Add a lock assertion to verify that dynamic_netconsole_mutex is held
when updating the userdata fields in the netconsole driver.

This change prevents calling update_userdata() without holding the lock,
ensuring data consistency and integrity.

The update_userdata() function is invoked only when the user changes the
configuration, so this addition does not impact performance as it is not
in the hot path.

Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
---
drivers/net/netconsole.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 4ea44a2f48f7b1f9059d275f0f0edc40cc1997f0..965712d65a014c60f91bf35e48f1b112f66b8439 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -697,6 +697,8 @@ static void update_userdata(struct netconsole_target *nt)
int complete_idx = 0, child_count = 0;
struct list_head *entry;

+ lockdep_assert_held(&dynamic_netconsole_mutex);
+
/* Clear the current string in case the last userdatum was deleted */
nt->userdata_length = 0;
nt->userdata_complete[0] = 0;

--
2.43.5