On Mon, Jul 28, 2025 at 05:04:45PM +0100, Al Viro wrote: > On Mon, Jul 28, 2025 at 07:37:02PM +0800, Edward Adam Davis wrote: > > The writer and reader access FAT32 entry without any lock, so the data > > obtained by the reader is incomplete. > > Could you be more specific? "Incomplete" in which sense? > > > Add spin lock to solve the race condition that occurs when accessing > > FAT32 entry. > > Which race condition would that be? > > > FAT16 entry has the same issue and is handled together. > > FWIW, I strongly suspect that > * "issue" with FAT32 is a red herring coming from mindless parroting > of dumb tool output > * issue with FAT16 just might be real, if architecture-specific. > If 16bit stores are done as 32bit read-modify-write, we might need some > serialization. Assuming we still have such architectures, that is - > alpha used to be one, but support for pre-BWX models got dropped. > Sufficiently ancient ARM? Note that FAT12 situation is really different - we not just have an inevitable read-modify-write for stores (half-byte access), we are not even guaranteed that byte and half-byte will be within the same cacheline, so cmpxchg is not an option; we have to use a spinlock there.