sysctl.c (e565a8ed1ee4b481539b66cd6f54df9ecf1e9861) sysctl.c (1622ed7d0743201293094162c26019d2573ecacb)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * sysctl.c: General linux system control interface
4 *
5 * Begun 24 March 1995, Stephen Tweedie
6 * Added /proc support, Dec 1995
7 * Added bdflush entry and intvec min/max checking, 2/23/96, Tom Dyas.
8 * Added hooks for /proc/sys/net (minor, minor patch), 96/4/1, Mike Shaver.

--- 1131 unchanged lines hidden (view full) ---

1140
1141 left -= proc_skip_spaces(&p);
1142 if (!left)
1143 break;
1144
1145 err = proc_get_long(&p, &left, &val, &neg,
1146 proc_wspace_sep,
1147 sizeof(proc_wspace_sep), NULL);
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * sysctl.c: General linux system control interface
4 *
5 * Begun 24 March 1995, Stephen Tweedie
6 * Added /proc support, Dec 1995
7 * Added bdflush entry and intvec min/max checking, 2/23/96, Tom Dyas.
8 * Added hooks for /proc/sys/net (minor, minor patch), 96/4/1, Mike Shaver.

--- 1131 unchanged lines hidden (view full) ---

1140
1141 left -= proc_skip_spaces(&p);
1142 if (!left)
1143 break;
1144
1145 err = proc_get_long(&p, &left, &val, &neg,
1146 proc_wspace_sep,
1147 sizeof(proc_wspace_sep), NULL);
1148 if (err)
1148 if (err || neg) {
1149 err = -EINVAL;
1149 break;
1150 break;
1150 if (neg)
1151 continue;
1151 }
1152
1152 val = convmul * val / convdiv;
1153 if ((min && val < *min) || (max && val > *max)) {
1154 err = -EINVAL;
1155 break;
1156 }
1157 *i = val;
1158 } else {
1159 val = convdiv * (*i) / convmul;

--- 1696 unchanged lines hidden ---
1153 val = convmul * val / convdiv;
1154 if ((min && val < *min) || (max && val > *max)) {
1155 err = -EINVAL;
1156 break;
1157 }
1158 *i = val;
1159 } else {
1160 val = convdiv * (*i) / convmul;

--- 1696 unchanged lines hidden ---