I write a module, and find kdump can't boot in this case.
kernel version is 3.12, Intel(R) Xeon(R) CPU    E5620

struct timer_list g_timer;

void tmrhnd_invtssfault(unsigned long data)
{
        long __res;
        printk(KERN_EMERG "invalid TSS fault in interrupt context.\n");
        __asm__ volatile("int $0x0A" : "=a"(__res):);
}

{
        ...
        init_timer(&g_timer);
        g_timer.expires = jiffies + 10;
        g_timer.data = 0;
        g_timer.function = tmrhnd_invtssfault;
        add_timer(&g_timer);
        ...
}

If access NULL pointer instead of "__asm__ volatile("int $0x0A" : 
"=a"(__res):);" 
in tmrhnd_invtssfault(), kdump can boot.
And if not use timer, just do "__asm__ volatile("int $0x0A" : "=a"(__res):);" 
only
once in module, kdump can boot too.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to