Hello, On Mon, 29 Jul 2019, Florian Westphal wrote: > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c > > index 741d91aa4a8d..e78fd05f108b 100644 > > --- a/net/netfilter/ipvs/ip_vs_ctl.c > > +++ b/net/netfilter/ipvs/ip_vs_ctl.c > > @@ -1680,12 +1680,18 @@ proc_do_defense_mode(struct ctl_table *table, int write, > > int val = *valp; > > int rc; > > > > - rc = proc_dointvec(table, write, buffer, lenp, ppos); > > + struct ctl_table tmp = { > > + .data = &val, > > + .maxlen = sizeof(int), > > + .mode = table->mode, > > + }; > > + > > + rc = proc_dointvec(&tmp, write, buffer, lenp, ppos); > > Wouldn't it be better do use proc_dointvec_minmax and set the > constraints via .extra1,2 in the sysctl knob definition? We store the 'ipvs' back-ptr in extra2, so may be we can not use it in the table for proc_do_defense_mode, only for tmp. proc_do_sync_mode may use extra1/2 in table for the proc_dointvec_minmax call. Regards -- Julian Anastasov <ja@xxxxxx>