[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+z6XzGGJRJFuL-1_FDeRXQUULZwZNnXU9RLkcptpw7jA@mail.gmail.com>
Date: Thu, 8 Jan 2026 14:59:12 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: David Howells <dhowells@...hat.com>
Cc: syzbot <syzbot+6182afad5045e6703b3d@...kaller.appspotmail.com>,
davem@...emloft.net, horms@...nel.org, kuba@...nel.org,
linux-afs@...ts.infradead.org, linux-kernel@...r.kernel.org,
marc.dionne@...istor.com, netdev@...r.kernel.org, pabeni@...hat.com,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [afs?] [net?] KCSAN: data-race in rxrpc_peer_keepalive_worker
/ rxrpc_send_data_packet
On Thu, Jan 8, 2026 at 2:42 PM David Howells <dhowells@...hat.com> wrote:
>
> I think that this shouldn't be a problem. The write is:
>
> conn->peer->last_tx_at = ktime_get_seconds();
>
> and the read is:
>
> keepalive_at = peer->last_tx_at + RXRPC_KEEPALIVE_TIME;
>
> an approximate time is fine as we're estimating when to send a keepalive
> packet if we haven't transmitted a packet in a while.
LGTM, but potential load and store tearing should be avoided, using
READ_ONCE() and WRITE_ONCE().
last_tx_at being time64_t, this would still be racy on 32bit arches.
last_tx_at could probably be an "unsigned long" (in jiffies units)...
Powered by blists - more mailing lists