Though this isn't a common use case, I thought I should note that commit 2e772194cf7cd7c37d24364a9f9d407dc96a25e8 causes a regression in wireguard-go running in foreground mode (-f flag); packets are never read from the TUN interface.

I got as far as debugging that it works again if you call Fd() at least once after SetNonblock i.e. it's not introduced by any of the other changes in that commit. I've stopped looking at this for now, but thought I would warn others and see if anyone else has some ideas.