Commit cb636b3e authored by Paolo Abeni's avatar Paolo Abeni

Merge branch 'use-standard-sysctl-macro'

Tonghao Zhang says:

====================
use standard sysctl macro

From: Tonghao Zhang <xiangxia.m.yue@gmail.com>

This patchset introduce sysctl macro or replace var
with macro.
====================

Link: https://lore.kernel.org/r/20220501035524.91205-1-xiangxia.m.yue@gmail.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents 0530a683 57b19468
...@@ -26,7 +26,7 @@ static const struct file_operations proc_sys_dir_file_operations; ...@@ -26,7 +26,7 @@ static const struct file_operations proc_sys_dir_file_operations;
static const struct inode_operations proc_sys_dir_operations; static const struct inode_operations proc_sys_dir_operations;
/* shared constants to be used in various sysctls */ /* shared constants to be used in various sysctls */
const int sysctl_vals[] = { -1, 0, 1, 2, 4, 100, 200, 1000, 3000, INT_MAX, 65535 }; const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 };
EXPORT_SYMBOL(sysctl_vals); EXPORT_SYMBOL(sysctl_vals);
const unsigned long sysctl_long_vals[] = { 0, 1, LONG_MAX }; const unsigned long sysctl_long_vals[] = { 0, 1, LONG_MAX };
......
...@@ -38,10 +38,10 @@ struct ctl_table_header; ...@@ -38,10 +38,10 @@ struct ctl_table_header;
struct ctl_dir; struct ctl_dir;
/* Keep the same order as in fs/proc/proc_sysctl.c */ /* Keep the same order as in fs/proc/proc_sysctl.c */
#define SYSCTL_NEG_ONE ((void *)&sysctl_vals[0]) #define SYSCTL_ZERO ((void *)&sysctl_vals[0])
#define SYSCTL_ZERO ((void *)&sysctl_vals[1]) #define SYSCTL_ONE ((void *)&sysctl_vals[1])
#define SYSCTL_ONE ((void *)&sysctl_vals[2]) #define SYSCTL_TWO ((void *)&sysctl_vals[2])
#define SYSCTL_TWO ((void *)&sysctl_vals[3]) #define SYSCTL_THREE ((void *)&sysctl_vals[3])
#define SYSCTL_FOUR ((void *)&sysctl_vals[4]) #define SYSCTL_FOUR ((void *)&sysctl_vals[4])
#define SYSCTL_ONE_HUNDRED ((void *)&sysctl_vals[5]) #define SYSCTL_ONE_HUNDRED ((void *)&sysctl_vals[5])
#define SYSCTL_TWO_HUNDRED ((void *)&sysctl_vals[6]) #define SYSCTL_TWO_HUNDRED ((void *)&sysctl_vals[6])
...@@ -51,6 +51,7 @@ struct ctl_dir; ...@@ -51,6 +51,7 @@ struct ctl_dir;
/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */ /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
#define SYSCTL_MAXOLDUID ((void *)&sysctl_vals[10]) #define SYSCTL_MAXOLDUID ((void *)&sysctl_vals[10])
#define SYSCTL_NEG_ONE ((void *)&sysctl_vals[11])
extern const int sysctl_vals[]; extern const int sysctl_vals[];
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
static int i_zero; static int i_zero;
static int i_one_hundred = 100; static int i_one_hundred = 100;
static int match_int_ok = 1;
struct test_sysctl_data { struct test_sysctl_data {
int int_0001; int int_0001;
...@@ -95,6 +96,13 @@ static struct ctl_table test_table[] = { ...@@ -95,6 +96,13 @@ static struct ctl_table test_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },
{
.procname = "match_int",
.data = &match_int_ok,
.maxlen = sizeof(match_int_ok),
.mode = 0444,
.proc_handler = proc_dointvec,
},
{ {
.procname = "boot_int", .procname = "boot_int",
.data = &test_data.boot_int, .data = &test_data.boot_int,
...@@ -132,6 +140,30 @@ static struct ctl_table_header *test_sysctl_header; ...@@ -132,6 +140,30 @@ static struct ctl_table_header *test_sysctl_header;
static int __init test_sysctl_init(void) static int __init test_sysctl_init(void)
{ {
int i;
struct {
int defined;
int wanted;
} match_int[] = {
{.defined = *(int *)SYSCTL_ZERO, .wanted = 0},
{.defined = *(int *)SYSCTL_ONE, .wanted = 1},
{.defined = *(int *)SYSCTL_TWO, .wanted = 2},
{.defined = *(int *)SYSCTL_THREE, .wanted = 3},
{.defined = *(int *)SYSCTL_FOUR, .wanted = 4},
{.defined = *(int *)SYSCTL_ONE_HUNDRED, .wanted = 100},
{.defined = *(int *)SYSCTL_TWO_HUNDRED, .wanted = 200},
{.defined = *(int *)SYSCTL_ONE_THOUSAND, .wanted = 1000},
{.defined = *(int *)SYSCTL_THREE_THOUSAND, .wanted = 3000},
{.defined = *(int *)SYSCTL_INT_MAX, .wanted = INT_MAX},
{.defined = *(int *)SYSCTL_MAXOLDUID, .wanted = 65535},
{.defined = *(int *)SYSCTL_NEG_ONE, .wanted = -1},
};
for (i = 0; i < ARRAY_SIZE(match_int); i++)
if (match_int[i].defined != match_int[i].wanted)
match_int_ok = 0;
test_data.bitmap_0001 = kzalloc(SYSCTL_TEST_BITMAP_SIZE/8, GFP_KERNEL); test_data.bitmap_0001 = kzalloc(SYSCTL_TEST_BITMAP_SIZE/8, GFP_KERNEL);
if (!test_data.bitmap_0001) if (!test_data.bitmap_0001)
return -ENOMEM; return -ENOMEM;
......
...@@ -25,13 +25,10 @@ ...@@ -25,13 +25,10 @@
#include "dev.h" #include "dev.h"
static int two = 2;
static int three = 3;
static int int_3600 = 3600; static int int_3600 = 3600;
static int min_sndbuf = SOCK_MIN_SNDBUF; static int min_sndbuf = SOCK_MIN_SNDBUF;
static int min_rcvbuf = SOCK_MIN_RCVBUF; static int min_rcvbuf = SOCK_MIN_RCVBUF;
static int max_skb_frags = MAX_SKB_FRAGS; static int max_skb_frags = MAX_SKB_FRAGS;
static long long_one __maybe_unused = 1;
static long long_max __maybe_unused = LONG_MAX; static long long_max __maybe_unused = LONG_MAX;
static int net_msg_warn; /* Unused, but still a sysctl */ static int net_msg_warn; /* Unused, but still a sysctl */
...@@ -390,7 +387,7 @@ static struct ctl_table net_core_table[] = { ...@@ -390,7 +387,7 @@ static struct ctl_table net_core_table[] = {
.extra2 = SYSCTL_ONE, .extra2 = SYSCTL_ONE,
# else # else
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
# endif # endif
}, },
# ifdef CONFIG_HAVE_EBPF_JIT # ifdef CONFIG_HAVE_EBPF_JIT
...@@ -401,7 +398,7 @@ static struct ctl_table net_core_table[] = { ...@@ -401,7 +398,7 @@ static struct ctl_table net_core_table[] = {
.mode = 0600, .mode = 0600,
.proc_handler = proc_dointvec_minmax_bpf_restricted, .proc_handler = proc_dointvec_minmax_bpf_restricted,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
}, },
{ {
.procname = "bpf_jit_kallsyms", .procname = "bpf_jit_kallsyms",
...@@ -419,7 +416,7 @@ static struct ctl_table net_core_table[] = { ...@@ -419,7 +416,7 @@ static struct ctl_table net_core_table[] = {
.maxlen = sizeof(long), .maxlen = sizeof(long),
.mode = 0600, .mode = 0600,
.proc_handler = proc_dolongvec_minmax_bpf_restricted, .proc_handler = proc_dolongvec_minmax_bpf_restricted,
.extra1 = &long_one, .extra1 = SYSCTL_LONG_ONE,
.extra2 = &bpf_jit_limit_max, .extra2 = &bpf_jit_limit_max,
}, },
#endif #endif
...@@ -546,7 +543,7 @@ static struct ctl_table net_core_table[] = { ...@@ -546,7 +543,7 @@ static struct ctl_table net_core_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_minmax, .proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
}, },
{ {
.procname = "devconf_inherit_init_net", .procname = "devconf_inherit_init_net",
...@@ -555,7 +552,7 @@ static struct ctl_table net_core_table[] = { ...@@ -555,7 +552,7 @@ static struct ctl_table net_core_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_minmax, .proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &three, .extra2 = SYSCTL_THREE,
}, },
{ {
.procname = "high_order_alloc_disable", .procname = "high_order_alloc_disable",
......
...@@ -20,10 +20,6 @@ ...@@ -20,10 +20,6 @@
#include <net/protocol.h> #include <net/protocol.h>
#include <net/netevent.h> #include <net/netevent.h>
static int two = 2;
static int three __maybe_unused = 3;
static int four = 4;
static int thousand = 1000;
static int tcp_retr1_max = 255; static int tcp_retr1_max = 255;
static int ip_local_port_range_min[] = { 1, 1 }; static int ip_local_port_range_min[] = { 1, 1 };
static int ip_local_port_range_max[] = { 65535, 65535 }; static int ip_local_port_range_max[] = { 65535, 65535 };
...@@ -1006,7 +1002,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1006,7 +1002,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dou8vec_minmax, .proc_handler = proc_dou8vec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
}, },
{ {
.procname = "tcp_max_syn_backlog", .procname = "tcp_max_syn_backlog",
...@@ -1059,7 +1055,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1059,7 +1055,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_fib_multipath_hash_policy, .proc_handler = proc_fib_multipath_hash_policy,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &three, .extra2 = SYSCTL_THREE,
}, },
{ {
.procname = "fib_multipath_hash_fields", .procname = "fib_multipath_hash_fields",
...@@ -1117,7 +1113,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1117,7 +1113,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dou8vec_minmax, .proc_handler = proc_dou8vec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &four, .extra2 = SYSCTL_FOUR,
}, },
{ {
.procname = "tcp_recovery", .procname = "tcp_recovery",
...@@ -1310,7 +1306,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1310,7 +1306,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_minmax, .proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &thousand, .extra2 = SYSCTL_ONE_THOUSAND,
}, },
{ {
.procname = "tcp_pacing_ca_ratio", .procname = "tcp_pacing_ca_ratio",
...@@ -1319,7 +1315,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1319,7 +1315,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_minmax, .proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &thousand, .extra2 = SYSCTL_ONE_THOUSAND,
}, },
{ {
.procname = "tcp_wmem", .procname = "tcp_wmem",
...@@ -1391,7 +1387,7 @@ static struct ctl_table ipv4_net_table[] = { ...@@ -1391,7 +1387,7 @@ static struct ctl_table ipv4_net_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dou8vec_minmax, .proc_handler = proc_dou8vec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
}, },
{ } { }
}; };
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
#endif #endif
#include <linux/ioam6.h> #include <linux/ioam6.h>
static int two = 2;
static int three = 3;
static int flowlabel_reflect_max = 0x7; static int flowlabel_reflect_max = 0x7;
static int auto_flowlabels_max = IP6_AUTO_FLOW_LABEL_MAX; static int auto_flowlabels_max = IP6_AUTO_FLOW_LABEL_MAX;
static u32 rt6_multipath_hash_fields_all_mask = static u32 rt6_multipath_hash_fields_all_mask =
...@@ -172,7 +170,7 @@ static struct ctl_table ipv6_table_template[] = { ...@@ -172,7 +170,7 @@ static struct ctl_table ipv6_table_template[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_rt6_multipath_hash_policy, .proc_handler = proc_rt6_multipath_hash_policy,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &three, .extra2 = SYSCTL_THREE,
}, },
{ {
.procname = "fib_multipath_hash_fields", .procname = "fib_multipath_hash_fields",
...@@ -197,7 +195,7 @@ static struct ctl_table ipv6_table_template[] = { ...@@ -197,7 +195,7 @@ static struct ctl_table ipv6_table_template[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dou8vec_minmax, .proc_handler = proc_dou8vec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &two, .extra2 = SYSCTL_TWO,
}, },
{ {
.procname = "ioam6_id", .procname = "ioam6_id",
......
...@@ -1767,8 +1767,6 @@ static int ip_vs_zero_all(struct netns_ipvs *ipvs) ...@@ -1767,8 +1767,6 @@ static int ip_vs_zero_all(struct netns_ipvs *ipvs)
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
static int three = 3;
static int static int
proc_do_defense_mode(struct ctl_table *table, int write, proc_do_defense_mode(struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos) void *buffer, size_t *lenp, loff_t *ppos)
...@@ -1977,7 +1975,7 @@ static struct ctl_table vs_vars[] = { ...@@ -1977,7 +1975,7 @@ static struct ctl_table vs_vars[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_minmax, .proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO, .extra1 = SYSCTL_ZERO,
.extra2 = &three, .extra2 = SYSCTL_THREE,
}, },
{ {
.procname = "nat_icmp_send", .procname = "nat_icmp_send",
......
...@@ -40,6 +40,7 @@ ALL_TESTS="$ALL_TESTS 0004:1:1:uint_0001" ...@@ -40,6 +40,7 @@ ALL_TESTS="$ALL_TESTS 0004:1:1:uint_0001"
ALL_TESTS="$ALL_TESTS 0005:3:1:int_0003" ALL_TESTS="$ALL_TESTS 0005:3:1:int_0003"
ALL_TESTS="$ALL_TESTS 0006:50:1:bitmap_0001" ALL_TESTS="$ALL_TESTS 0006:50:1:bitmap_0001"
ALL_TESTS="$ALL_TESTS 0007:1:1:boot_int" ALL_TESTS="$ALL_TESTS 0007:1:1:boot_int"
ALL_TESTS="$ALL_TESTS 0008:1:1:match_int"
function allow_user_defaults() function allow_user_defaults()
{ {
...@@ -785,6 +786,27 @@ sysctl_test_0007() ...@@ -785,6 +786,27 @@ sysctl_test_0007()
return $ksft_skip return $ksft_skip
} }
sysctl_test_0008()
{
TARGET="${SYSCTL}/match_int"
if [ ! -f $TARGET ]; then
echo "Skipping test for $TARGET as it is not present ..."
return $ksft_skip
fi
echo -n "Testing if $TARGET is matched in kernel"
ORIG_VALUE=$(cat "${TARGET}")
if [ $ORIG_VALUE -ne 1 ]; then
echo "TEST FAILED"
rc=1
test_rc
fi
echo "ok"
return 0
}
list_tests() list_tests()
{ {
echo "Test ID list:" echo "Test ID list:"
...@@ -800,6 +822,7 @@ list_tests() ...@@ -800,6 +822,7 @@ list_tests()
echo "0005 x $(get_test_count 0005) - tests proc_douintvec() array" echo "0005 x $(get_test_count 0005) - tests proc_douintvec() array"
echo "0006 x $(get_test_count 0006) - tests proc_do_large_bitmap()" echo "0006 x $(get_test_count 0006) - tests proc_do_large_bitmap()"
echo "0007 x $(get_test_count 0007) - tests setting sysctl from kernel boot param" echo "0007 x $(get_test_count 0007) - tests setting sysctl from kernel boot param"
echo "0008 x $(get_test_count 0008) - tests sysctl macro values match"
} }
usage() usage()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment