xref: /linux/include/linux/refcount_types.h (revision f9d6966b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_REFCOUNT_TYPES_H
3 #define _LINUX_REFCOUNT_TYPES_H
4 
5 #include <linux/types.h>
6 
7 /**
8  * typedef refcount_t - variant of atomic_t specialized for reference counts
9  * @refs: atomic_t counter field
10  *
11  * The counter saturates at REFCOUNT_SATURATED and will not move once
12  * there. This avoids wrapping the counter and causing 'spurious'
13  * use-after-free bugs.
14  */
15 typedef struct refcount_struct {
16 	atomic_t refs;
17 } refcount_t;
18 
19 #endif /* _LINUX_REFCOUNT_TYPES_H */
20