2019-08-09 00:56:16

by Chris Packham

[permalink] [raw]
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 <[email protected]>
---
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


2019-08-10 17:47:52

by Jon Maloy

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

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 <[email protected]>


> -----Original Message-----
> From: [email protected] <[email protected]> On
> Behalf Of Chris Packham
> Sent: 8-Aug-19 20:55
> To: Jon Maloy <[email protected]>; [email protected];
> [email protected]
> Cc: [email protected]; [email protected]; linux-
> [email protected]; Chris Packham <[email protected]>
> 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 <[email protected]>
> ---
> 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