mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
The function for allocating and initialize a 'struct damos' object,
damon_new_scheme(), is not initializing damos->walk_completed field. Only
damos_walk_complete() is setting the field. Hence the field will be
eventually set and used correctly from second damos_walk() call for the
scheme. But the first damos_walk() could mistakenly not walk on the
regions. Actually, a common usage of DAMOS for taking an access pattern
snapshot is installing a monitoring-purpose DAMOS scheme, doing
damos_walk() to retrieve the snapshot, and then removing the scheme.
DAMON user-space tool (damo) also gets runtime snapshot in the way. Hence
the problem can continuously happen in such use cases. Initialize it
properly in the allocation function.
Link: https://lkml.kernel.org/r/20250228174450.41472-1-sj@kernel.org
Fixes:
|
||
|---|---|---|
| .. | ||
| tests | ||
| core.c | ||
| Kconfig | ||
| lru_sort.c | ||
| Makefile | ||
| modules-common.c | ||
| modules-common.h | ||
| ops-common.c | ||
| ops-common.h | ||
| paddr.c | ||
| reclaim.c | ||
| sysfs-common.c | ||
| sysfs-common.h | ||
| sysfs-schemes.c | ||
| sysfs.c | ||
| vaddr.c | ||