MCPcopy Create free account
hub / github.com/F-Stack/f-stack / stack_sbuf_print_flags

Function stack_sbuf_print_flags

freebsd/kern/subr_stack.c:172–200  ·  view source on GitHub ↗

* Format stack into sbuf from live kernel. * * flags - M_WAITOK or M_NOWAIT (EWOULDBLOCK). */

Source from the content-addressed store, hash-verified

170 * flags - M_WAITOK or M_NOWAIT (EWOULDBLOCK).
171 */
172int
173stack_sbuf_print_flags(struct sbuf *sb, const struct stack *st, int flags,
174 enum stack_sbuf_fmt format)
175{
176 char namebuf[64];
177 long offset;
178 int i, error;
179
180 KASSERT(st->depth <= STACK_MAX, ("bogus stack"));
181 for (i = 0; i < st->depth; i++) {
182 error = stack_symbol(st->pcs[i], namebuf, sizeof(namebuf),
183 &offset, flags);
184 if (error == EWOULDBLOCK)
185 return (error);
186 switch (format) {
187 case STACK_SBUF_FMT_LONG:
188 sbuf_printf(sb, "#%d %p at %s+%#lx\n", i,
189 (void *)st->pcs[i], namebuf, offset);
190 break;
191 case STACK_SBUF_FMT_COMPACT:
192 sbuf_printf(sb, "%s+%#lx ", namebuf, offset);
193 break;
194 default:
195 __assert_unreachable();
196 }
197 }
198 sbuf_nl_terminate(sb);
199 return (0);
200}
201
202void
203stack_sbuf_print(struct sbuf *sb, const struct stack *st)

Callers 3

stack_sbuf_printFunction · 0.85
witness_checkorderFunction · 0.85
tty_infoFunction · 0.85

Calls 3

stack_symbolFunction · 0.85
sbuf_printfFunction · 0.85
sbuf_nl_terminateFunction · 0.85

Tested by

no test coverage detected