summaryrefslogtreecommitdiffstats
path: root/drivers/net/amt.c
diff options
context:
space:
mode:
authorTaehee Yoo <ap420073@gmail.com>2022-07-17 18:09:06 +0200
committerPaolo Abeni <pabeni@redhat.com>2022-07-19 12:37:02 +0200
commit627f16931bf3cb20d50274d9341380ac2c3035fd (patch)
treea6554bc8a88394856c99a9c63d1748f39493f988 /drivers/net/amt.c
parentamt: use READ_ONCE() in amt module (diff)
downloadlinux-627f16931bf3cb20d50274d9341380ac2c3035fd.tar.xz
linux-627f16931bf3cb20d50274d9341380ac2c3035fd.zip
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/amt.c')
-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);