Good to go from manpages!
It would maybe feasible to include a notice about incompatibles about other kernel santinzing options.
I remember that I tried to build a kernel once with following options, which was not possible:
include GENERIC ident GENERIC-SANTI options COVERAGE options KCOV options KCSAN
Yeah, I guess you can only build with a single sanitizer at a time. Since KCSAN is itself not yet documented, I'm inclined to just leave the KCOV page as-is. Once I've gotten a chance to try using KCSAN I might try documenting it.
It should work on all architectures. The only issue I know about is on 32-bit mips where we don't have the userspace 64-bit atomic operations to clear buf.
It might pay to zero buf before the printf otherwise the return path of the ioctl will also be in the trace.