summary refs log tree commit diff
path: root/drivers/net
diff options
context:
space:
mode:
authorTaehee Yoo <ap420073@gmail.com>2022-07-17 16:09:06 +0000
committerPaolo Abeni <pabeni@redhat.com>2022-07-19 12:37:02 +0200
commit627f16931bf3cb20d50274d9341380ac2c3035fd (patch)
treea6554bc8a88394856c99a9c63d1748f39493f988 /drivers/net
parent928f353cb8672f0d6078aad75eeec0ed33875b12 (diff)
downloadlinux-627f16931bf3cb20d50274d9341380ac2c3035fd.tar.gz
amt: add missing regeneration nonce logic in request logic
When AMT gateway starts sending a new request message, it should
regenerate the nonce variable.

Fixes: cbc21dc1cfe9 ("amt: add data plane of amt interface")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/amt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/amt.c b/drivers/net/amt.c
index 4c5c74d79c81..e0743c20b780 100644
--- a/drivers/net/amt.c
+++ b/drivers/net/amt.c
@@ -963,9 +963,13 @@ static void amt_event_send_request(struct amt_dev *amt)
 		amt->remote_ip = 0;
 		amt_update_gw_status(amt, AMT_STATUS_INIT, false);
 		amt->req_cnt = 0;
+		amt->nonce = 0;
 		goto out;
 	}
 
+	if (!amt->req_cnt)
+		get_random_bytes(&amt->nonce, sizeof(__be32));
+
 	amt_send_request(amt, false);
 	amt_send_request(amt, true);
 	amt_update_gw_status(amt, AMT_STATUS_SENT_REQUEST, true);