Lines Matching defs:tracker
35 struct ref_tracker *tracker;
44 list_for_each_entry(tracker, &dir->list, head) {
45 depot_stack_handle_t stack = tracker->alloc_stack_handle;
159 struct ref_tracker *tracker, *n;
165 list_for_each_entry_safe(tracker, n, &dir->quarantine, head) {
166 list_del(&tracker->head);
167 kfree(tracker);
173 list_for_each_entry_safe(tracker, n, &dir->list, head) {
174 list_del(&tracker->head);
175 kfree(tracker);
190 struct ref_tracker *tracker;
203 *trackerp = tracker = kzalloc(sizeof(*tracker), gfp_mask);
204 if (unlikely(!tracker)) {
205 pr_err_once("memory allocation failure, unreliable refcount tracker.\n");
210 tracker->alloc_stack_handle = stack_depot_save(entries, nr_entries, gfp);
213 list_add(&tracker->head, &dir->list);
224 struct ref_tracker *tracker;
234 tracker = *trackerp;
235 if (!tracker) {
244 if (tracker->dead) {
246 if (tracker->alloc_stack_handle) {
248 stack_depot_print(tracker->alloc_stack_handle);
250 if (tracker->free_stack_handle) {
252 stack_depot_print(tracker->free_stack_handle);
258 tracker->dead = true;
260 tracker->free_stack_handle = stack_handle;
262 list_move_tail(&tracker->head, &dir->quarantine);
264 tracker = list_first_entry(&dir->quarantine, struct ref_tracker, head);
265 list_del(&tracker->head);
268 tracker = NULL;
272 kfree(tracker);