From 79f58c012dffc0d92b22f158c0dd48d5b1135e99 Mon Sep 17 00:00:00 2001 From: Yuming Han Date: Wed, 29 Jun 2022 11:36:05 +0800 Subject: [PATCH] lmkd: Fixed data overflow on ARM Both pgscan_kwsapd and pgscan_direct are defined as unsigned long, the overflow issues occur on ARM kernel space. Just check whether their values changed. Signed-off-by: Yuming Han Change-Id: I73b27855ede9ca729208775e982660bae967ab92 --- lmkd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lmkd.cpp b/lmkd.cpp index 3671766..d885a2d 100644 --- a/lmkd.cpp +++ b/lmkd.cpp @@ -2651,11 +2651,11 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ } /* Identify reclaim state */ - if (vs.field.pgscan_direct > init_pgscan_direct) { + if (vs.field.pgscan_direct != init_pgscan_direct) { init_pgscan_direct = vs.field.pgscan_direct; init_pgscan_kswapd = vs.field.pgscan_kswapd; reclaim = DIRECT_RECLAIM; - } else if (vs.field.pgscan_kswapd > init_pgscan_kswapd) { + } else if (vs.field.pgscan_kswapd != init_pgscan_kswapd) { init_pgscan_kswapd = vs.field.pgscan_kswapd; reclaim = KSWAPD_RECLAIM; } else if (workingset_refault_file == prev_workingset_refault) {