summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorQing Ming <a0yami@mailbox.org>2026-10-02 17:11:28 -0400
committerDavid Teigland <teigland@redhat.com>2026-10-05 09:26:02 -0500
commit7f662eb1807ed732ac7d5e119753c8185f241bb8 (patch)
tree5041dd92f1c5801a5d5862b2849f70ea90e300b7 /scripts/Makefile.thinlto
parented9b6a1296f10e4881d93dfe6d76013fbbaeee87 (diff)
downloadlinux-next-7f662eb1807ed732ac7d5e119753c8185f241bb8.tar.gz
linux-next-7f662eb1807ed732ac7d5e119753c8185f241bb8.zip
dlm: validate node weights before building member array
DLM node weights are parsed as signed integers and copied into the member list. make_member_array() uses their sum as the allocation count, but only positive weights contribute entries to the array. A negative weight can therefore reduce the allocation without reducing the number of writes. The issue was found through static analysis of the configfs input and member array construction. With two recovery members weighted -31 and 32, the sum is 1, so recovery allocates one int and then writes the positive member's node ID 32 times. A reproducer using dlm_controld and dlm_tool triggered the same report on a KASAN kernel: BUG: KASAN: slab-out-of-bounds in dlm_recover_members [dlm] Write of size 4 by task dlm_recoverd Call Trace: dlm_recover_members dlm_recoverd kthread ret_from_fork Reject negative weights at the configfs input boundary. Also detect overflow when adding non-negative weights to the signed allocation count, and propagate array construction errors to the recovery path. Fixes: e7fd41792fc0 ("[DLM] The core of the DLM for GFS2/CLVM") Signed-off-by: Qing Ming <a0yami@mailbox.org> Assisted-by: Codex:gpt-5 Acked-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions