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
| ||
|
Date: Tue, 17 Nov 2015 01:04:10 +0100 From: "Jason A. Donenfeld" <Jason@...c4.com> To: Hannes Frederic Sowa <hannes@...essinduktion.org> Cc: David Miller <davem@...emloft.net>, Netdev <netdev@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org> Subject: Re: irq_fpu_usable() is false in ndo_start_xmit() for UDP packets On Tue, Nov 17, 2015 at 12:57 AM, Jason A. Donenfeld <Jason@...c4.com> wrote: > 2. irq_fpu_usable() is FALSE for UDP! Since in_interrupt() is always > true in ndo_start_xmit, this means that in this case, both > interrupted_user_mode() and interrupted_kernel_fpu_idle() are false! > Investigating further, will report back. GASP, the plot thickens. It turns out that when it is working, for TCP, interrupted_user_mode() is false. This means that the only reason it's succeeding for TCP is because interrupted_kernel_fpu_idle() is true. Therefore, for some reason for UDP, interrupted_kernel_fpu_idle() is false! That function is defined as: static bool interrupted_kernel_fpu_idle(void) { if (kernel_fpu_disabled()) return false; if (use_eager_fpu()) return true; return !current->thread.fpu.fpregs_active && (read_cr0() & X86_CR0_TS); } So now the big question is: what in the UDP pipeline is using the FPU? And why is that usage not being released by the time it gets to ndo_start_xmit? Or, alternatively, why would X86_CR0_TS be unset in the UDP path? Is it possible this is related to UFO? -- 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