diff options
Diffstat (limited to 'include/linux/ref_tracker.h')
| -rw-r--r-- | include/linux/ref_tracker.h | 25 | 
1 files changed, 23 insertions, 2 deletions
| diff --git a/include/linux/ref_tracker.h b/include/linux/ref_tracker.h index 9ca353ab712b..8eac4f3d5254 100644 --- a/include/linux/ref_tracker.h +++ b/include/linux/ref_tracker.h @@ -17,12 +17,15 @@ struct ref_tracker_dir {  	bool			dead;  	struct list_head	list; /* List of active trackers */  	struct list_head	quarantine; /* List of dead trackers */ +	char			name[32];  #endif  };  #ifdef CONFIG_REF_TRACKER +  static inline void ref_tracker_dir_init(struct ref_tracker_dir *dir, -					unsigned int quarantine_count) +					unsigned int quarantine_count, +					const char *name)  {  	INIT_LIST_HEAD(&dir->list);  	INIT_LIST_HEAD(&dir->quarantine); @@ -31,14 +34,20 @@ static inline void ref_tracker_dir_init(struct ref_tracker_dir *dir,  	dir->dead = false;  	refcount_set(&dir->untracked, 1);  	refcount_set(&dir->no_tracker, 1); +	strscpy(dir->name, name, sizeof(dir->name));  	stack_depot_init();  }  void ref_tracker_dir_exit(struct ref_tracker_dir *dir); +void ref_tracker_dir_print_locked(struct ref_tracker_dir *dir, +				  unsigned int display_limit); +  void ref_tracker_dir_print(struct ref_tracker_dir *dir,  			   unsigned int display_limit); +int ref_tracker_dir_snprint(struct ref_tracker_dir *dir, char *buf, size_t size); +  int ref_tracker_alloc(struct ref_tracker_dir *dir,  		      struct ref_tracker **trackerp, gfp_t gfp); @@ -48,7 +57,8 @@ int ref_tracker_free(struct ref_tracker_dir *dir,  #else /* CONFIG_REF_TRACKER */  static inline void ref_tracker_dir_init(struct ref_tracker_dir *dir, -					unsigned int quarantine_count) +					unsigned int quarantine_count, +					const char *name)  {  } @@ -56,11 +66,22 @@ static inline void ref_tracker_dir_exit(struct ref_tracker_dir *dir)  {  } +static inline void ref_tracker_dir_print_locked(struct ref_tracker_dir *dir, +						unsigned int display_limit) +{ +} +  static inline void ref_tracker_dir_print(struct ref_tracker_dir *dir,  					 unsigned int display_limit)  {  } +static inline int ref_tracker_dir_snprint(struct ref_tracker_dir *dir, +					  char *buf, size_t size) +{ +	return 0; +} +  static inline int ref_tracker_alloc(struct ref_tracker_dir *dir,  				    struct ref_tracker **trackerp,  				    gfp_t gfp) |