| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * A generic stack depot implementation |
|---|
| 3 | 4 | * |
|---|
| .. | .. |
|---|
| 5 | 6 | * Copyright (C) 2016 Google, Inc. |
|---|
| 6 | 7 | * |
|---|
| 7 | 8 | * Based on code by Dmitry Chernenkov. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 10 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 11 | | - * the Free Software Foundation; either version 2 of the License, or |
|---|
| 12 | | - * (at your option) any later version. |
|---|
| 13 | | - * |
|---|
| 14 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 15 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 16 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 17 | | - * GNU General Public License for more details. |
|---|
| 18 | | - * |
|---|
| 19 | 9 | */ |
|---|
| 20 | 10 | |
|---|
| 21 | 11 | #ifndef _LINUX_STACKDEPOT_H |
|---|
| .. | .. |
|---|
| 23 | 13 | |
|---|
| 24 | 14 | typedef u32 depot_stack_handle_t; |
|---|
| 25 | 15 | |
|---|
| 26 | | -struct stack_trace; |
|---|
| 16 | +depot_stack_handle_t stack_depot_save(unsigned long *entries, |
|---|
| 17 | + unsigned int nr_entries, gfp_t gfp_flags); |
|---|
| 27 | 18 | |
|---|
| 28 | | -depot_stack_handle_t depot_save_stack(struct stack_trace *trace, gfp_t flags); |
|---|
| 19 | +unsigned int stack_depot_fetch(depot_stack_handle_t handle, |
|---|
| 20 | + unsigned long **entries); |
|---|
| 29 | 21 | |
|---|
| 30 | | -void depot_fetch_stack(depot_stack_handle_t handle, struct stack_trace *trace); |
|---|
| 22 | +unsigned int filter_irq_stacks(unsigned long *entries, unsigned int nr_entries); |
|---|
| 23 | + |
|---|
| 24 | +#ifdef CONFIG_STACKDEPOT |
|---|
| 25 | +int stack_depot_init(void); |
|---|
| 26 | +#else |
|---|
| 27 | +static inline int stack_depot_init(void) |
|---|
| 28 | +{ |
|---|
| 29 | + return 0; |
|---|
| 30 | +} |
|---|
| 31 | +#endif /* CONFIG_STACKDEPOT */ |
|---|
| 31 | 32 | |
|---|
| 32 | 33 | #endif |
|---|