Skip to content
CVE PROGRAM SOURCE RECORD5.5 Medium

CVE-2023-53375

tracing: Free error logs of tracing instances

Description

In the Linux kernel, the following vulnerability has been resolved: tracing: Free error logs of tracing instances When a tracing instance is removed, the error messages that hold errors that occurred in the instance needs to be freed. The following reports a memory leak: # cd /sys/kernel/tracing # mkdir instances/foo # echo 'hist:keys=x' > instances/foo/events/sched/sched_switch/trigger # cat instances/foo/error_log [ 117.404795] hist:sched:sched_switch: error: Couldn't find field Command: hist:keys=x ^ # rmdir instances/foo Then check for memory leaks: # echo scan > /sys/kernel/debug/kmemleak # cat /sys/kernel/debug/kmemleak unreferenced object 0xffff88810d8ec700 (size 192): comm "bash", pid 869, jiffies 4294950577 (age 215.752s) hex dump (first 32 bytes): 60 dd 68 61 81 88 ff ff 60 dd 68 61 81 88 ff ff `.ha....`.ha.... a0 30 8c 83 ff ff ff ff 26 00 0a 00 00 00 00 00 .0......&....... backtrace: [<00000000dae26536>] kmalloc_trace+0x2a/0xa0 [<00000000b2938940>] tracing_log_err+0x277/0x2e0 [<000000004a0e1b07>] parse_atom+0x966/0xb40 [<0000000023b24337>] parse_expr+0x5f3/0xdb0 [<00000000594ad074>] event_hist_trigger_parse+0x27f8/0x3560 [<00000000293a9645>] trigger_process_regex+0x135/0x1a0 [<000000005c22b4f2>] event_trigger_write+0x87/0xf0 [<000000002cadc509>] vfs_write+0x162/0x670 [<0000000059c3b9be>] ksys_write+0xca/0x170 [<00000000f1cddc00>] do_syscall_64+0x3e/0xc0 [<00000000868ac68c>] entry_SYSCALL_64_after_hwframe+0x72/0xdc unreferenced object 0xffff888170c35a00 (size 32): comm "bash", pid 869, jiffies 4294950577 (age 215.752s) hex dump (first 32 bytes): 0a 20 20 43 6f 6d 6d 61 6e 64 3a 20 68 69 73 74 . Command: hist 3a 6b 65 79 73 3d 78 0a 00 00 00 00 00 00 00 00 :keys=x......... backtrace: [<000000006a747de5>] __kmalloc+0x4d/0x160 [<000000000039df5f>] tracing_log_err+0x29b/0x2e0 [<000000004a0e1b07>] parse_atom+0x966/0xb40 [<0000000023b24337>] parse_expr+0x5f3/0xdb0 [<00000000594ad074>] event_hist_trigger_parse+0x27f8/0x3560 [<00000000293a9645>] trigger_process_regex+0x135/0x1a0 [<000000005c22b4f2>] event_trigger_write+0x87/0xf0 [<000000002cadc509>] vfs_write+0x162/0x670 [<0000000059c3b9be>] ksys_write+0xca/0x170 [<00000000f1cddc00>] do_syscall_64+0x3e/0xc0 [<00000000868ac68c>] entry_SYSCALL_64_after_hwframe+0x72/0xdc The problem is that the error log needs to be freed when the instance is removed.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 2f754e771b1a6feba670782e82c45555984ac43b to < 987f599fc556a4e64c405d8dde32c70311e8c278affected
  • 2f754e771b1a6feba670782e82c45555984ac43b to < 6e36373aa5ffa8e00fe7c71b3209f6f17081e552affected
  • 2f754e771b1a6feba670782e82c45555984ac43b to < 33d5d4e67a0e13c3ca6257fa67bf6503bc000878affected
  • 2f754e771b1a6feba670782e82c45555984ac43b to < c0cf0f55be043ef67c38f492aa37ed1986d2f6b6affected
  • 2f754e771b1a6feba670782e82c45555984ac43b to < 46771c34d6721abfd9e7903eaed2201051eebec6affected
  • 2f754e771b1a6feba670782e82c45555984ac43b to < 3357c6e429643231e60447b52ffbb7ac895aca22affected

Linux Linux

Default version status: affected

  • 5.2affected
  • 0 to < 5.2unaffected
  • 5.4.241 to ≤ 5.4.*unaffected
  • 5.10.178 to ≤ 5.10.*unaffected
  • 5.15.107 to ≤ 5.15.*unaffected
  • 6.1.24 to ≤ 6.1.*unaffected
  • 6.2.11 to ≤ 6.2.*unaffected
  • 6.3 to ≤ *unaffected

References