| #
a5e84d6f |
| 15-Sep-2026 |
Julian Braha <julianbraha@gmail.com> |
kconfig: check for out-of-bounds numeric constants
The Kconfig interpreter internally represents constants as strings, then attempts to parse them as 64-bit signed integers for 'int' options, and 64
kconfig: check for out-of-bounds numeric constants
The Kconfig interpreter internally represents constants as strings, then attempts to parse them as 64-bit signed integers for 'int' options, and 64-bit unsigned integers for 'hex' options.
However, there is currently no check that the conversion succeeds, leading to failures when the values are actually used. For example:
config LARGE_INT int default 10000000000000000000
config BUGGED_INT_COMPARISON bool default y if LARGE_INT < 2
Obviously 10000000000000000000 is larger than 2, but the Kconfig interpreter will fallback to comparing the two values with strcmp() after the numeric conversion fails, causing the first character, '1', to be compared with '2', and giving the wrong result.
Since none of these out-of-bounds values are used as constants anywhere in the tree, we can already make these error out.
Assisted-by: LLM Signed-off-by: Julian Braha <julianbraha@gmail.com> Reviewed-by: Nicolas Schier <n.schier@fritz.com> Link: https://patch.msgid.link/20260915211508.291790-3-julianbraha@gmail.com Signed-off-by: Nathan Chancellor <nathan@kernel.org>
show more ...
|
| #
95fde4bc |
| 15-Sep-2026 |
Julian Braha <julianbraha@gmail.com> |
kconfig: promote invalid numeric reference from warning to error
The Kconfig interpreter already warns if a numeric option attempts to use a non-numeric option (bool, tristate, or string) to set its
kconfig: promote invalid numeric reference from warning to error
The Kconfig interpreter already warns if a numeric option attempts to use a non-numeric option (bool, tristate, or string) to set its value (for example, with a 'default' or 'range').
Since there is nowhere in the tree that attempts this, we can safely promote this check from warning to error.
Assisted-by: LLM Signed-off-by: Julian Braha <julianbraha@gmail.com> Reviewed-by: Nicolas Schier <n.schier@fritz.com> Link: https://patch.msgid.link/20260915211508.291790-2-julianbraha@gmail.com Signed-off-by: Nathan Chancellor <nathan@kernel.org>
show more ...
|