netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] eventpoll: Annotate data-race of busy_poll_usecs
@ 2024-08-06 12:33 Joe Damato
  2024-08-08  3:22 ` Jakub Kicinski
  2024-08-08  7:13 ` Christian Brauner
  0 siblings, 2 replies; 3+ messages in thread
From: Joe Damato @ 2024-08-06 12:33 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel
  Cc: netdev, Martin Karsten, stable, Joe Damato, Alexander Viro,
	Christian Brauner, Jan Kara, Stanislav Fomichev, David S. Miller,
	Eric Dumazet

From: Martin Karsten <mkarsten@uwaterloo.ca>

A struct eventpoll's busy_poll_usecs field can be modified via a user
ioctl at any time. All reads of this field should be annotated with
READ_ONCE.

Fixes: 85455c795c07 ("eventpoll: support busy poll per epoll instance")
Cc: stable@vger.kernel.org
Signed-off-by: Martin Karsten <mkarsten@uwaterloo.ca>
Reviewed-by: Joe Damato <jdamato@fastly.com>
---
 fs/eventpoll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index f53ca4f7fced..6d0e2f547ae7 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -420,7 +420,7 @@ static bool busy_loop_ep_timeout(unsigned long start_time,
 
 static bool ep_busy_loop_on(struct eventpoll *ep)
 {
-	return !!ep->busy_poll_usecs || net_busy_loop_on();
+	return !!READ_ONCE(ep->busy_poll_usecs) || net_busy_loop_on();
 }
 
 static bool ep_busy_loop_end(void *p, unsigned long start_time)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-08  7:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-06 12:33 [PATCH net] eventpoll: Annotate data-race of busy_poll_usecs Joe Damato
2024-08-08  3:22 ` Jakub Kicinski
2024-08-08  7:13 ` Christian Brauner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).