Hello, Julian
On 2019/7/30 4:20, Julian Anastasov wrote:
>
> 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>
>
> .
>
I agree with you, in these four function, only proc_do_sync_mode can
use extra1/2 in table for the proc_dointvec_minmax,
i will update it in patch v2. Thank you for reply.
Regards,
Junwei
|