Races in ichsmb(9) when accessed from a multithreaded process

Chris Torek torek at elf.torek.net
Mon Feb 3 21:20:51 UTC 2014


Yes, we found that the code does not properly allow either
multiple threads *or* multiple processes to work.  The top level
driver makes it a single-open device (which has the obvious
drawback that only one process can open() the device).  But even
then, multiple threads within a process, or forking, or using
PF_LOCAL sockets to hand over the file descriptor, result in
races.

We have a hack that makes it work for our case but the SMB
framework needs an overhaul.

Chris


More information about the freebsd-hackers mailing list