Re: [PATCH] proc/sysctl: add shared variables for range check

From: Alexey Dobriyan
Date: Tue Jul 02 2019 - 13:12:57 EST


> -static long zero;
> static long long_max = LONG_MAX;
>
> struct ctl_table epoll_table[] = {
> @@ -301,7 +300,7 @@ struct ctl_table epoll_table[] = {
> .maxlen = sizeof(max_user_watches),
> .mode = 0644,
> .proc_handler = proc_doulongvec_minmax,
> - .extra1 = &zero,
> + .extra1 = SYSCTL_ZERO,
> .extra2 = &long_max,

This looks wrong: proc_doulongvec_minmax() expects "long"s.
The whole patch needs rechecking.

> +/* shared constants to be used in various sysctls */
> +const =======>int<========== sysctl_vals[] = { 0, 1, INT_MAX };
> +EXPORT_SYMBOL(sysctl_vals);