From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 993031DFFB; Fri, 29 May 2026 00:12:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780013545; cv=none; b=g1SjYRCy8PClRkd+XTMmK2dyeYgnT/jAO+UNj23FlSyUHyUTB5q1ta3UdHEg6RMz8XNafcoKKBtv/yn8M/Wt0w6LuvFngWnUuKTcQDCNA9tf7YKZzeJ8cD7xC+TE97iUJUrZKlFXaCk3yvfro8lQWXP+Avw+3KqjAwEJuzoHdVM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780013545; c=relaxed/simple; bh=qWcZ90m9f5vrz6GDTx9rVqzA7yV4jczKmbPQueWhRrI=; h=Date:To:From:Subject:Message-Id; b=GBFk8wPDtE2HEPQo4NkEm7mAriIItZikRf69WnbosIa3cAETIefQD9d5YdMrEUjKmHFWYo/KMQI6vrTGNk9dzUv5hKHtQ+0GGSLG9AEpJmf4LADN6GTC6a6gHq6vqoJpwQDH0+svOfRI6gL/YmGtCLehComHLEweFGwo/hH5f7U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=TFv1fcW5; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="TFv1fcW5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1FD261F000E9; Fri, 29 May 2026 00:12:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1780013544; bh=AMuX9xHIZ3VFolwveTrCu3ktkuJIQKgTc4XKxkowijs=; h=Date:To:From:Subject; b=TFv1fcW5A1UmmsJ7CtfkL7fo0StP0YpHJ917b2Xf3dajvn3DoZvSCjavl/RaaF6Lo 4vu+W8C0rDvUshIb89s65KeLOU/1nlrE7SHYwOqlR9b014f/5/lpCb0tjcpeXelBvI tmris1xY70vRQzMhWvHFlXgQ9dllkNM4qZl1DUl8= Date: Thu, 28 May 2026 17:12:23 -0700 To: mm-commits@vger.kernel.org,stable@vger.kernel.org,sj@kernel.org,akpm@linux-foundation.org From: Andrew Morton Subject: + mm-damonn-lru_sort-handle-ctx-allocation-failure.patch added to mm-hotfixes-unstable branch Message-Id: <20260529001224.1FD261F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: mm/damon/lru_sort: handle ctx allocation failure has been added to the -mm mm-hotfixes-unstable branch. Its filename is mm-damonn-lru_sort-handle-ctx-allocation-failure.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-damonn-lru_sort-handle-ctx-allocation-failure.patch This patch will later appear in the mm-hotfixes-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: SeongJae Park Subject: mm/damon/lru_sort: handle ctx allocation failure Date: Thu, 28 May 2026 17:01:03 -0700 DAMON_LRU_SORT allocates the damon_ctx object for its kdamond in its init function. damon_lru_sort_enabled_store() wrongly assumes the allocation will always succeed once tried. If the damon_ctx allocation was failed, therefore, code execution reaches to damon_commit_ctx() while 'ctx' is NULL. As a result, it dereferences the NULL 'ctx' pointer. Avoid the NULL dereference by returning -ENOMEM if 'ctx' is NULL. Link: https://lore.kernel.org/20260529000104.7006-3-sj@kernel.org Fixes: c4a8e662c839 ("mm/damon/lru_sort: use damon_initialized()") Signed-off-by: SeongJae Park Cc: # 6.18.x Signed-off-by: Andrew Morton --- mm/damon/lru_sort.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/mm/damon/lru_sort.c~mm-damonn-lru_sort-handle-ctx-allocation-failure +++ a/mm/damon/lru_sort.c @@ -437,6 +437,10 @@ static int damon_lru_sort_enabled_store( if (!damon_initialized()) return 0; + /* damon_modules_new_paddr_ctx_target() in the init function failed. */ + if (!ctx) + return -ENOMEM; + return damon_lru_sort_turn(enabled); } _ Patches currently in -mm which might be from sj@kernel.org are mm-damon-ops-common-call-folio_test_lru-after-folio_get.patch mm-damon-reclaim-handle-ctx-allocation-failure.patch mm-damonn-lru_sort-handle-ctx-allocation-failure.patch mm-damon-core-make-charge_addr_from-aware-of-end-address-exclusivity.patch mm-damon-core-handle-min_region_sz-remaining-quota-as-empty.patch mm-damon-core-merge-regions-after-applying-damos-schemes.patch mm-damon-core-introduce-failed-region-quota-charge-ratio.patch mm-damon-sysfs-schemes-implement-fail_charge_numdenom-files.patch docs-mm-damon-design-document-fail_charge_numdenom.patch docs-admin-guide-mm-damon-usage-document-fail_charge_numdenom-files.patch docs-abi-damon-document-fail_charge_numdenom.patch mm-damon-tests-core-kunit-test-fail_charge_numdenom-committing.patch selftests-damon-_damon_sysfs-support-failed-region-quota-charge-ratio.patch selftests-damon-drgn_dump_damon_status-support-failed-region-quota-charge-ratio.patch selftests-damon-sysfspy-test-failed-region-quota-charge-ratio.patch docs-mm-damon-maintainer-profile-add-ai-review-usage-guideline.patch mm-damon-core-introduce-damon_ctx-paused.patch mm-damon-sysfs-add-pause-file-under-context-dir.patch docs-mm-damon-design-update-for-context-pause-resume-feature.patch docs-admin-guide-mm-damon-usage-update-for-pause-file.patch docs-abi-damon-update-for-pause-sysfs-file.patch mm-damon-tests-core-kunit-test-pause-commitment.patch selftests-damon-_damon_sysfs-support-pause-file-staging.patch selftests-damon-drgn_dump_damon_status-dump-pause.patch selftests-damon-sysfspy-check-pause-on-assert_ctx_committed.patch selftests-damon-sysfspy-pause-damon-before-dumping-status.patch mm-damon-introduce-damon_set_region_system_rams_default.patch mm-damon-reclaim-cover-all-system-rams.patch mm-damon-lru_sort-cover-all-system-rams.patch mm-damon-core-remove-damon_set_region_biggest_system_ram_default.patch mm-damon-stat-use-damon_set_region_system_rams_default.patch docs-admin-guide-mm-damon-reclaim-update-for-entire-memory-monitoring.patch docs-admin-guide-mm-damon-lru_sort-update-for-entire-memory-monitoring.patch docs-admin-guide-mm-damon-usage-mark-scheme-filters-sysfs-dir-as-deprecated.patch docs-abi-damon-mark-schemes-s-filters-deprecated.patch mm-damon-reclaim-add-autotune_monitoring_intervals-parameter.patch docs-admin-guide-mm-damon-reclaim-update-for-autotune_monitoring_intervals.patch mm-damon-stat-add-a-parameter-for-reading-kdamond-pid.patch docs-admin-guide-mm-damon-stat-document-kdamond_pid-parameter.patch mm-damon-core-introduce-struct-damon_probe.patch mm-damon-core-embed-damon_probe-objects-in-damon_ctx.patch mm-damon-core-introduce-damon_filter.patch mm-damon-core-commit-probes.patch mm-damon-core-introduce-damon_region-probe_hits.patch mm-damon-core-introduce-damon_ops-apply_probes.patch mm-damon-core-do-data-attributes-monitoring.patch mm-damon-paddr-support-data-attributes-monitoring.patch mm-damon-sysfs-implement-probes-dir.patch mm-damon-sysfs-implement-probe-dir.patch mm-damon-sysfs-implement-filters-directory.patch mm-damon-sysfs-implement-filter-dir.patch mm-damon-sysfs-implement-filter-dir-files.patch mm-damon-sysfs-setup-probes-on-damon-core-api-parameters.patch mm-damon-sysfs-schemes-implement-tried_regions-r-probes.patch mm-damon-sysfs-schemes-implement-probe-dir.patch mm-damon-sysfs-schemes-implement-probe-hits-file.patch mm-damon-trace-probe_hits.patch selftests-damon-sysfssh-test-probes-dir.patch docs-mm-damon-design-document-data-attributes-monitoring.patch docs-admin-guide-mm-damon-usage-document-data-attributes-monitoring.patch mm-damon-core-introduce-damon_filter_type_memcg.patch mm-damon-paddr-support-damon_filter_type_memcg.patch mm-damon-sysfs-add-filters-f-path-file.patch mm-damon-sysfs-schemes-move-memcg_path_to_id-to-sysfs-common.patch mm-damon-sysfs-setup-damon_filter-memcg_id-from-path.patch docs-mm-damon-design-update-for-memcg-damon-filter.patch docs-admin-guide-mm-damon-usage-update-for-memcg-damon-filter.patch mm-damon-core-safely-handle-no-region-case-in-damon_set_regions.patch mm-damon-core-do-not-use-region-out-of-a-loop-in-damon_set_regions.patch samples-damon-mtier-replace-damon_add_region-with-damon_set_regions.patch mm-damon-tests-vaddr-kunit-replace-damon_add_region-with-damon_set_regions.patch mm-damon-core-hide-damon_add_region.patch mm-damon-core-hide-damon_insert_region.patch mm-damon-core-hide-damon_destroy_region.patch mm-damon-core-add-kdamond_call-debug_sanity-check.patch mm-damon-core-remove-damon_verify_nr_regions.patch mm-damon-tests-core-kunit-add-damon_set_regions-test-cases.patch selftests-damon-sysfspy-stop-kdamonds-before-failing.patch selftests-damon-sysfssh-test-monitoring-intervals-goal-dir.patch selftests-damon-sysfssh-test-addr_unit-file-existence.patch selftests-damon-sysfssh-test-pause-file-existence.patch mm-damon-core-trace-esz-at-first-setup.patch