> Just to check, has this been tested with CONFIG_REFCOUNT_FULL and > > something poking kcov? > > > > Given lib/refcount.c is instrumented, the refcount_*() calls will > > recurse back into the kcov code. It looks like that's fine, given these > > are only manipulated in setup/teardown paths, but it would be nice to be > > sure. > > A simple program using KCOV is available here: > https://elixir.bootlin.com/linux/v5.0-rc3/source/Documentation/dev- > tools/kcov.rst#L42 > or here (it's like strace but collects and prints KCOV coverage): > https://github.com/google/syzkaller/blob/master/tools/kcovtrace/kcovtrace.c >
Ok, so I finally got to compile kcov in and try the first test program and it works fine as far as I can see: runs, prints results, and no WARNs anywhere visible with regards to refcount_t. I did my test on 4.20 with CONFIG_REFCOUNT_FULL=y since I have serious issues getting 5.0 running as it is even from the stable branch, but unless kcov underwent some serious changes since December, it should not affect. Is it ok now for merging this change? The stricter mem ordering on dec_and_test hopefully will also lands soon. Best Regards, Elena.