⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.144
Server IP:
157.245.143.252
Server:
Linux www 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64
Server Software:
nginx/1.26.0
PHP Version:
8.3.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
src
/
linux-headers-6.11.0-29
/
include
/
linux
/
View File Name :
ref_tracker.h
// SPDX-License-Identifier: GPL-2.0-or-later #ifndef _LINUX_REF_TRACKER_H #define _LINUX_REF_TRACKER_H #include
#include
#include
#include
struct ref_tracker; struct ref_tracker_dir { #ifdef CONFIG_REF_TRACKER spinlock_t lock; unsigned int quarantine_avail; refcount_t untracked; refcount_t no_tracker; 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, const char *name) { INIT_LIST_HEAD(&dir->list); INIT_LIST_HEAD(&dir->quarantine); spin_lock_init(&dir->lock); dir->quarantine_avail = quarantine_count; 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); int ref_tracker_free(struct ref_tracker_dir *dir, struct ref_tracker **trackerp); #else /* CONFIG_REF_TRACKER */ static inline void ref_tracker_dir_init(struct ref_tracker_dir *dir, unsigned int quarantine_count, const char *name) { } 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) { return 0; } static inline int ref_tracker_free(struct ref_tracker_dir *dir, struct ref_tracker **trackerp) { return 0; } #endif #endif /* _LINUX_REF_TRACKER_H */