On Sat, Apr 11, 2009 at 11:47:34AM -0400, Christos Zoulas wrote: > Module Name: src > Committed By: christos > Date: Sat Apr 11 15:47:34 UTC 2009 > > Modified Files: > src/sys/dev/dmover: dmover_io.c > src/sys/dev/putter: putter.c > src/sys/kern: kern_drvctl.c sys_mqueue.c > src/sys/net: bpf.c bpfdesc.h if_tap.c > src/sys/opencrypto: cryptodev.c > src/sys/sys: mqueue.h > > Log Message: > Fix PR/37878 and PR/37550: Provide stat(2) for all devices and don't use > fbadop_stat.
The locking is all screwed up or missing. stat() can be expected to report bad times for these files. I wrote the below to you in private and forgot to copy the list. Subject: Re: fix for 37878 and 37550 From: Andrew Doran <a...@netbsd.org> Date: Fri, 10 Apr 2009 23:55:33 +0000 To: Christos Zoulas <chris...@zoulas.com> On Fri, Apr 10, 2009 at 06:00:46PM -0400, Christos Zoulas wrote: > I've implemented stat functions for all the devices that called > fbadop_stat > and tried to fill the fields as best as I could. I am concerned about the > cost of getnanotime() and the extra fields in the softc struct. Is it > worth > it? We could also simply fix this by implementing fnullop_stat, which is > effectively what soo_stat() ends up being for non-unix sockets. > > Comments? None on the general approach, but, in the patch the stat fops are missing locking. Likewise for the crypto updates, >uintptr_t writes are unlikely to be atomic.