RE: [PATCH v2] tipc: initialise addr_trail_end when setting node addresses

From: Jon Maloy
Date: Sat Aug 10 2019 - 13:47:02 EST


I would re-phrase this a little:
We set the field 'addr_trial_end' to 'jiffies', instead of the current value 0, at the moment the node address is initialized.
This guarantees we don't inadvertently enter an address trial period when the node address is explicitly set by the user.

Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>


> -----Original Message-----
> From: netdev-owner@xxxxxxxxxxxxxxx <netdev-owner@xxxxxxxxxxxxxxx> On
> Behalf Of Chris Packham
> Sent: 8-Aug-19 20:55
> To: Jon Maloy <jon.maloy@xxxxxxxxxxxx>; ying.xue@xxxxxxxxxxxxx;
> davem@xxxxxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx; tipc-discussion@xxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> Subject: [PATCH v2] tipc: initialise addr_trail_end when setting node addresses
>
> Ensure addr_trail_end is set to jiffies when configuring the node address. This
> ensures that we don't treat the initial value of 0 as being a wrapped. This isn't a
> problem when using auto-generated node addresses because the
> addr_trail_end is updated for the duplicate address detection phase.
>
> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> ---
> Changes in v2:
> - move setting to tipc_set_node_addr() as suggested
> - reword commit message
>
> net/tipc/addr.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/tipc/addr.c b/net/tipc/addr.c index
> b88d48d00913..0f1eaed1bd1b 100644
> --- a/net/tipc/addr.c
> +++ b/net/tipc/addr.c
> @@ -75,6 +75,7 @@ void tipc_set_node_addr(struct net *net, u32 addr)
> tipc_set_node_id(net, node_id);
> }
> tn->trial_addr = addr;
> + tn->addr_trial_end = jiffies;
> pr_info("32-bit node address hash set to %x\n", addr); }
>
> --
> 2.22.0