Skip to content

Commit

Permalink
[IPSEC]: Make x->lastused an unsigned long
Browse files Browse the repository at this point in the history
Currently x->lastused is u64 which means that it cannot be
read/written atomically on all architectures.  David Miller observed
that the value stored in it is only an unsigned long which is always
atomic.

So based on his suggestion this patch changes the internal
representation from u64 to unsigned long while the user-interface
still refers to it as u64.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Herbert Xu authored and David S. Miller committed Jan 28, 2008
1 parent 0ebea8e commit d26f398
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 5 deletions.
2 changes: 1 addition & 1 deletion include/net/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ struct xfrm_state
struct timer_list timer;

/* Last used time */
u64 lastused;
unsigned long lastused;

/* Reference to data common to all the instances of this
* transformer. */
Expand Down
2 changes: 0 additions & 2 deletions net/ipv6/xfrm6_mode_ro.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ static int xfrm6_ro_output(struct xfrm_state *x, struct sk_buff *skb)
__skb_pull(skb, hdr_len);
memmove(ipv6_hdr(skb), iph, hdr_len);

spin_lock_bh(&x->lock);
x->lastused = get_seconds();
spin_unlock_bh(&x->lock);

return 0;
}
Expand Down
4 changes: 2 additions & 2 deletions net/xfrm/xfrm_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -1986,8 +1986,8 @@ static inline size_t xfrm_sa_len(struct xfrm_state *x)
if (x->coaddr)
l += nla_total_size(sizeof(*x->coaddr));

/* Must count this as this may become non-zero behind our back. */
l += nla_total_size(sizeof(x->lastused));
/* Must count x->lastused as it may become non-zero behind our back. */
l += nla_total_size(sizeof(u64));

return l;
}
Expand Down

0 comments on commit d26f398

Please sign in to comment.