[<prev] [next>] [day] [month] [year] [list]
Message-ID: <24312261-6c84-cd2a-9ab4-c92eb700507f@suse.com>
Date: Mon, 27 Jun 2022 16:05:27 +0200
From: Oliver Neukum <oneukum@...e.com>
To: Lukas Wunner <lukas@...ner.de>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: How to safely disconnect an usbnet device
Hi,
looking at the race conditions with respect to works, timers and bottom
halves it looks to me like me it needs the following algorithm (in
pseudocode):
1. Set a flag
2. Cancel everything
3. Recancel everything
while checking for the flag while every time a work is scheduled,
a timer armed or something similar.
By that logic anything that escapes the first round will be caught
in the second round. What do you think of his patch?
Regards
Oliver
View attachment "0001-usbnet-fix-cyclical-race-on-disconnect.patch" of type "text/x-patch" (4484 bytes)
Powered by blists - more mailing lists