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