Re: [PATCH] virt/coco/sev-guest: Convert to use time_after macro

From: Tom Lendacky
Date: Fri Jul 07 2023 - 12:29:03 EST


On 7/6/23 22:06, Zehao Zhang wrote:
Use time_after macro instead of opening it for readability.

time_after(a,b) returns true if the time a is after time b.

The macro deals with the time wrapper correctly. If the timer wrap
changes in future, there will be no need to alter the driver code.

Signed-off-by: Zehao Zhang <zhangzehao@xxxxxxxx>

Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx>

---
drivers/virt/coco/sev-guest/sev-guest.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c
index 97dbe715e96a..f17302117c18 100644
--- a/drivers/virt/coco/sev-guest/sev-guest.c
+++ b/drivers/virt/coco/sev-guest/sev-guest.c
@@ -21,6 +21,7 @@
#include <linux/psp-sev.h>
#include <uapi/linux/sev-guest.h>
#include <uapi/linux/psp-sev.h>
+#include <linux/jiffies.h>
#include <asm/svm.h>
#include <asm/sev.h>
@@ -383,7 +384,7 @@ static int __handle_guest_request(struct snp_guest_dev *snp_dev, u64 exit_code,
* message sequence number on a different message.
*/
case -EAGAIN:
- if (jiffies - req_start > SNP_REQ_MAX_RETRY_DURATION) {
+ if (time_after(jiffies, req_start + SNP_REQ_MAX_RETRY_DURATION)) {
rc = -ETIMEDOUT;
break;
}