sysctl.c (2d3b559df3ed39258737789aae2ae7973d205bc1) | sysctl.c (c31bcc8fb89fc2812663900589c6325ba35d9a65) |
---|---|
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. --- 1076 unchanged lines hidden (view full) --- 1085 break; 1086 } 1087 1088 val = convmul * val / convdiv; 1089 if ((min && val < *min) || (max && val > *max)) { 1090 err = -EINVAL; 1091 break; 1092 } | 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. --- 1076 unchanged lines hidden (view full) --- 1085 break; 1086 } 1087 1088 val = convmul * val / convdiv; 1089 if ((min && val < *min) || (max && val > *max)) { 1090 err = -EINVAL; 1091 break; 1092 } |
1093 *i = val; | 1093 WRITE_ONCE(*i, val); |
1094 } else { | 1094 } else { |
1095 val = convdiv * (*i) / convmul; | 1095 val = convdiv * READ_ONCE(*i) / convmul; |
1096 if (!first) 1097 proc_put_char(&buffer, &left, '\t'); 1098 proc_put_long(&buffer, &left, val, false); 1099 } 1100 } 1101 1102 if (!write && !first && left && !err) 1103 proc_put_char(&buffer, &left, '\n'); --- 1359 unchanged lines hidden --- | 1096 if (!first) 1097 proc_put_char(&buffer, &left, '\t'); 1098 proc_put_long(&buffer, &left, val, false); 1099 } 1100 } 1101 1102 if (!write && !first && left && !err) 1103 proc_put_char(&buffer, &left, '\n'); --- 1359 unchanged lines hidden --- |