IRET は、EFLAGS、ESP、EIP などを含むスタックからレジスタを復元できますが、すべて自分でレジスタを復元することもできます。たとえば、「movl」を使用して %esp レジスタを復元できます。「jmp」を使用すると、スタックに格納されている EIP を指すアドレスにジャンプできます。
Linux カーネルは、重み付け命令である IRET によってすべての割り込みから復帰します。
一部のカーネル操作 (コンテキスト スイッチなど) は頻繁に発生します。
IRETはもったいない?