lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 21 Jan 2008 14:23:51 +0800
From:	"jidong xiao" <jidong.xiao@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: Question about set_intr_gate_ist()

Hi,
  I know there is set_intr_gate(n,addr) which is used to insert an
interrupt gate in the n th IDT entry. But I don't know what the usage
of set_intr_gate_ist()?

  Take the code below for example,
static inline void set_intr_gate_ist(int nr, void *func, unsigned ist)
{
	BUG_ON((unsigned)nr > 0xFF);
	_set_gate(&idt_table[nr], GATE_INTERRUPT, (unsigned long) func, 0, ist);
}
  What does "ist" mean?
  In particular, note that this function is used only in x86_64 arch.
Can anyone explain this for me, thanks.

localhost:/usr/src/linux-2.6.22.1 # grep -r set_intr_gate_ist *
arch/x86_64/kernel/traps.c:     set_intr_gate_ist(1,&debug,DEBUG_STACK);
arch/x86_64/kernel/traps.c:     set_intr_gate_ist(2,&nmi,NMI_STACK);
arch/x86_64/kernel/traps.c:     set_intr_gate_ist(8,&double_fault,
DOUBLEFAULT_STACK);
arch/x86_64/kernel/traps.c:
set_intr_gate_ist(12,&stack_segment,STACKFAULT_STACK);
arch/x86_64/kernel/traps.c:     set_intr_gate_ist(18,&machine_check, MCE_STACK);
include/asm-x86_64/desc.h:static inline void set_intr_gate_ist(int nr,
void *func, unsigned ist)


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ