Messages in this thread | | | From | Zev Weiss <> | Subject | [PATCH v2 0/3] sysctl: fix range-checking in do_proc_dointvec_minmax_conv() | Date | Thu, 7 Feb 2019 06:34:23 -0600 |
| |
Hello,
After being left with an unusable system after a typo executing something like 'echo $((1<<24)) > /proc/sys/vm/max_map_count', I found that do_proc_dointvec_minmax_conv() was missing a check to ensure that the converted value actually fits in an int.
The first of the following patches enhances the sysctl selftest such that it detects this problem; the second provides a minimal fix (suitable for -stable) such that the selftest passes. The third patch then performs a more thorough refactoring to eliminate the code duplication that led to the bug in the first place (maintaining the passing status of the selftest).
Changes in v2: - Rearranged selftest to also test negative values and provide more info in comments - Added intermediate patch as a minimal fix for -stable without the refactoring
Thanks, Zev Weiss
| |