linux-yocto/samples
Honggyu Kim d9e01c62b7 samples/damon: fix damon sample prcl for start failure
Patch series "mm/damon: fix divide by zero and its samples", v3.

This series includes fixes against damon and its samples to make it safer
when damon sample starting fails.

It includes the following changes.
- fix unexpected divide by zero crash for zero size regions
- fix bugs for damon samples in case of start failures


This patch (of 4):

The damon_sample_prcl_start() can fail so we must reset the "enable"
parameter to "false" again for proper rollback.

In such cases, setting Y to "enable" then N triggers the following crash
because damon sample start failed but the "enable" stays as Y.

  [ 2441.419649] damon_sample_prcl: start
  [ 2454.146817] damon_sample_prcl: stop
  [ 2454.146862] ------------[ cut here ]------------
  [ 2454.146865] kernel BUG at mm/slub.c:546!
  [ 2454.148183] Oops: invalid opcode: 0000 [#1] SMP NOPTI
  	...
  [ 2454.167555] Call Trace:
  [ 2454.167822]  <TASK>
  [ 2454.168061]  damon_destroy_ctx+0x78/0x140
  [ 2454.168454]  damon_sample_prcl_enable_store+0x8d/0xd0
  [ 2454.168932]  param_attr_store+0xa1/0x120
  [ 2454.169315]  module_attr_store+0x20/0x50
  [ 2454.169695]  sysfs_kf_write+0x72/0x90
  [ 2454.170065]  kernfs_fop_write_iter+0x150/0x1e0
  [ 2454.170491]  vfs_write+0x315/0x440
  [ 2454.170833]  ksys_write+0x69/0xf0
  [ 2454.171162]  __x64_sys_write+0x19/0x30
  [ 2454.171525]  x64_sys_call+0x18b2/0x2700
  [ 2454.171900]  do_syscall_64+0x7f/0x680
  [ 2454.172258]  ? exit_to_user_mode_loop+0xf6/0x180
  [ 2454.172694]  ? clear_bhb_loop+0x30/0x80
  [ 2454.173067]  ? clear_bhb_loop+0x30/0x80
  [ 2454.173439]  entry_SYSCALL_64_after_hwframe+0x76/0x7e

Link: https://lkml.kernel.org/r/20250702000205.1921-1-honggyu.kim@sk.com
Link: https://lkml.kernel.org/r/20250702000205.1921-2-honggyu.kim@sk.com
Fixes: 2aca254620 ("samples/damon: introduce a skeleton of a smaple DAMON module for proactive reclamation")
Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-07-09 21:07:54 -07:00
..
acrn
auxdisplay
binderfs
bpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-01 15:11:38 -07:00
cgroup
check-exec samples/check-exec: Fix script name 2025-03-07 19:58:05 -08:00
configfs samples: configfs: add missing MODULE_DESCRIPTION() macro 2024-07-10 14:59:01 +02:00
connector treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
coresight
damon samples/damon: fix damon sample prcl for start failure 2025-07-09 21:07:54 -07:00
fanotify
fprobe fprobe: Use ftrace_regs in fprobe exit handler 2024-12-26 10:50:03 -05:00
ftrace tracing: samples: Initialize trace_array_printk() with the correct function 2025-05-12 13:07:22 -04:00
hid samples/hid: fix broken vmlinux path for VMLINUX_BTF 2025-02-04 11:07:41 +01:00
hidraw
hung_task samples: extend hung_task detector test with semaphore support 2025-05-11 17:54:08 -07:00
hw_breakpoint perf/hw_breakpoint: use ERR_PTR_PCPU(), IS_ERR_PCPU() and PTR_ERR_PCPU() macros 2024-11-05 17:12:32 -08:00
kdb
kfifo kfifo: don't include dma-mapping.h in kfifo.h 2024-10-23 08:05:20 +02:00
kmemleak samples: kmemleak: print the raw pointers for debugging purposes 2025-03-16 22:06:08 -07:00
kobject samples/kobject: add missing MODULE_DESCRIPTION() macros 2024-06-04 18:04:28 +02:00
kprobes samples: kprobes: add missing MODULE_DESCRIPTION() macros 2024-06-12 08:44:27 +09:00
landlock samples/landlock: Enable users to log sandbox denials 2025-03-26 13:59:44 +01:00
livepatch samples/livepatch: add module descriptions 2025-04-11 17:32:38 -07:00
mei
nitro_enclaves
pfsm
pidfd
pktgen samples: pktgen: correct dev to DEV 2024-11-13 18:54:33 -08:00
qmi Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
rpmsg
rust drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
seccomp
timers
trace_events tracing: Verify event formats that have "%*p.." 2025-04-02 09:51:26 -04:00
trace_printk
tsm-mr sample/tsm-mr: Fix missing static for sample_report 2025-05-12 22:15:57 -07:00
uhid
user_events
v4l media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish 2024-10-28 09:20:10 +01:00
vfio-mdev module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
vfs samples/vfs: fix printf format string for size_t 2025-02-25 11:56:26 +01:00
watch_queue
watchdog
Kconfig - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
Makefile - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00