Em Wed, Feb 22, 2017 at 02:29:18PM +0000, Reshetova, Elena escreveu:
Em Tue, Feb 21, 2017 at 05:34:55PM +0200, Elena Reshetova escreveu:
refcount_t type and corresponding API should be used instead of atomic_t when the variable is used as a reference counter. This allows to avoid accidental refcounter overflows that might lead to use-after-free situations. #define __CGROUP_H__
-#include <linux/atomic.h> +#include <linux/refcount.h>
So this is the first one, I was expecting the copy from include/linux/refcount.h to be made to tools/include/linux/refcount.h, as was done for tools/include/linux/atomic.h and all the other stuff in tools/include/
See:
commit c4b6014e8bb0c8d47fe5c71ebc604f31091e5d3f Author: Arnaldo Carvalho de Melo acme@redhat.com Date: Mon Jul 11 10:28:48 2016 -0300
tools: Add copy of perf_event.h to tools/include/linux/
For one of the reasons we've been doing this.
Hm.. I have taken a look on it and I am confused. refcount.h is not exactly standalone header and seems to bring in quite some many dependencies to other headers (linux/bug.h, linux/mutex.h etc.), which are not present in tools headers dirs.
I tried to compile perf tool as a start, copied the refcount.h to tools/include/linux/ and somewhere after it wanted me to bring the 10th header I stopped, because this cannot be right, or?
So, it doesn't have to be a straight copy, and it just shows the problem with using the kernel headers directly, i.e. tools/perf/ uses atomic.h, and uses that for refcounting, but not all of include/linux/refcount.h should be copied to tools/include/linux/refcount.h.
I'll try doing the work, that way I'll read about this new stuff, will come back here with what I find, so you can continue on the kernel bits for now, ok?
- Arnaldo