diff options
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r-- | drivers/net/tun.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 812dc3a65efb..a8d3141582a5 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -526,8 +526,8 @@ static void tun_flow_update(struct tun_struct *tun, u32 rxhash, | |||
526 | e = tun_flow_find(head, rxhash); | 526 | e = tun_flow_find(head, rxhash); |
527 | if (likely(e)) { | 527 | if (likely(e)) { |
528 | /* TODO: keep queueing to old queue until it's empty? */ | 528 | /* TODO: keep queueing to old queue until it's empty? */ |
529 | if (e->queue_index != queue_index) | 529 | if (READ_ONCE(e->queue_index) != queue_index) |
530 | e->queue_index = queue_index; | 530 | WRITE_ONCE(e->queue_index, queue_index); |
531 | if (e->updated != jiffies) | 531 | if (e->updated != jiffies) |
532 | e->updated = jiffies; | 532 | e->updated = jiffies; |
533 | sock_rps_record_flow_hash(e->rps_rxhash); | 533 | sock_rps_record_flow_hash(e->rps_rxhash); |