Beispiel #1
0
void
libcfs_assertion_failed(const char *expr, const char *file,
                        const char *func, const int line)
{
        libcfs_debug_msg(NULL, 0, D_EMERG, file, func, line,
                         "ASSERTION(%s) failed\n", expr);
        /* cfs_enter_debugger(); */
        lbug_with_loc(file, func, line);
}
Beispiel #2
0
void lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
{
        libcfs_catastrophe = 1;
        libcfs_debug_msg(msgdata, "LBUG - trying to dump log to %s\n",
                         libcfs_debug_file_path);
        libcfs_debug_dumplog();
        libcfs_run_lbug_upcall(msgdata);
        asm("int $3");
        panic("LBUG");
}
Beispiel #3
0
/* coverity[+kill] */
void __noreturn lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
{
	libcfs_catastrophe = 1;
	libcfs_debug_msg(msgdata, "LBUG\n");

	if (in_interrupt()) {
		panic("LBUG in interrupt.\n");
		/* not reached */
	}

	dump_stack();
	if (!libcfs_panic_on_lbug)
		libcfs_debug_dumplog();
	if (libcfs_panic_on_lbug)
		panic("LBUG");
	set_task_state(current, TASK_UNINTERRUPTIBLE);
	while (1)
		schedule();
}
Beispiel #4
0
void libcfs_log_goto(struct libcfs_debug_msg_data *msgdata, const char *label,
                     long_ptr_t rc)
{
        libcfs_debug_msg(msgdata, "Process leaving via %s (rc=" LPLU " : " LPLD
                         " : " LPLX ")\n", label, (ulong_ptr_t)rc, rc, rc);
}
Beispiel #5
0
long libcfs_log_return(struct libcfs_debug_msg_data *msgdata, long rc)
{
        libcfs_debug_msg(msgdata, "Process leaving (rc=%lu : %ld : %lx)\n",
                         rc, rc, rc);
        return rc;
}
Beispiel #6
0
void lbug_with_loc(const char *file, const char *func, const int line)
{
        /* No libcfs_catastrophe in userspace! */
        libcfs_debug_msg(NULL, 0, D_EMERG, file, func, line, "LBUG\n");
        abort();
}
Beispiel #7
0
void lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
{
        /* No libcfs_catastrophe in userspace! */
        libcfs_debug_msg(msgdata, "LBUG\n");
        abort();
}