CVE-2026-99240
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
02/11/2026
Última modificación:
03/11/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm/damon/core: error damos_commit_quota_goal() for zero target_value<br />
<br />
Patch series "mm/damon: move zero damos quota target_value handling to the<br />
core layer".<br />
<br />
Having zero DAMOS quota target value can cause division by zero. DAMON<br />
API callers are checking the target value parameters to avoid that. It is<br />
easy to make mistakes in some of the multiple API callers. Move that to<br />
the core layer.<br />
<br />
Patch 1 adds the corner case handling into the core layer DAMON parameters<br />
validation logic. Patches 2 and 3 remove no more needed DAMON API callers<br />
side handling of the corner case in DAMON_LRU_SORT and DMON_SAMPLIE_MTIER,<br />
respectively.<br />
<br />
<br />
This patch (of 3):<br />
<br />
If a DAMOS scheme has a damos_quota_goal of zero target_value,<br />
damos_quota_goal() could trigger division-by-zero error. Hence each DAMON<br />
API callers should do the zero target_value validation. It is easy to<br />
make mistakes. Actually such bugs in DAMON_LRU_SORT and<br />
DAMON_SAMPLE_MTIER were found and fixed [1].<br />
<br />
It is better to handle the corner case only once in the core layer,<br />
instead of multiple places in all DAMON API callers. One straightforward<br />
option is using an alternative denominator for the corner case in the<br />
damos_quota_goal(). However, the zero target_value is meaningless. In<br />
this case, the quota goal is always evaluated as achieved or<br />
over-achieved. The quota will only keep being reduced.<br />
<br />
Simply avoid using zero target_value by adding a check in the core layer<br />
DAMOS quota goal parameters validation/commit path,<br />
damos_commit_quota_goal(). Update it to return an error in the case. <br />
Also update its caller to propagate the error.


