On Mon, Jun 14, 2021 at 01:40:22AM +0800, Yanfei Xu wrote: > This commit contains 3 modifies: > > 1.Convert the type of jiffies_scan_wait to "unsigned long". > > 2.Use READ/WRITE_ONCE() for accessing "jiffies_scan_wait". > > 3.Fix the possible wrong memory scanning period. If you set a large > memory scanning period like blow, then the "secs" variable will be > non-zero, however the value of "jiffies_scan_wait" will be zero. > > echo "scan=0x10000000" > /sys/kernel/debug/kmemleak > > It is because the type of the msecs_to_jiffies()'s parameter is > "unsigned int", and the "secs * 1000" is larger than its max value. > This in turn leads a unexpected jiffies_scan_wait, maybe zero. We > corret it by replacing kstrtoul() with kstrtouint(), and check the > msecs to prevent it larger than UINT_MAX. > > Signed-off-by: Yanfei Xu <yanfei.xu@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>