On Tue, Feb 08, 2022 at 12:48:17PM +0100, Ingo Rohloff wrote: > > > + atomic64_sub(amount, &ffs->mmap_mem_usage); > > > > Why not use a real lock instead of trying to do a fake one with this > > atomic variable? > > I don't think there is a good reason using the "atomic" stuff: > I think this code path anyway is not hit that often (only when you mmap or > munmap buffers), so this should not have any noticeable impact on performance. > > I just took the code from "drivers/usb/core/devio.c", > "usbfs_increase_memory_usage()". > I am still convinced it is correct. > > You are of course right: You can easily use a lock here and this makes the > intention of the code a lot clearer I guess. > > I will modify the patch accordingly. If you also feel like making a similar change to the code in devio.c, it would be welcome. Alan Stern