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 <yuming.han@unisoc.com> Change-Id: I73b27855ede9ca729208775e982660bae967ab92
This commit is contained in:
parent
caebcddf9f
commit
79f58c012d
4
lmkd.cpp
4
lmkd.cpp
|
|
@ -2651,11 +2651,11 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Identify reclaim state */
|
/* 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_direct = vs.field.pgscan_direct;
|
||||||
init_pgscan_kswapd = vs.field.pgscan_kswapd;
|
init_pgscan_kswapd = vs.field.pgscan_kswapd;
|
||||||
reclaim = DIRECT_RECLAIM;
|
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;
|
init_pgscan_kswapd = vs.field.pgscan_kswapd;
|
||||||
reclaim = KSWAPD_RECLAIM;
|
reclaim = KSWAPD_RECLAIM;
|
||||||
} else if (workingset_refault_file == prev_workingset_refault) {
|
} else if (workingset_refault_file == prev_workingset_refault) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue