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: Wed, 30 May 2007 20:50:55 -0600 From: ebiederm@...ssion.com (Eric W. Biederman) To: "Siddha, Suresh B" <suresh.b.siddha@...el.com> Cc: mingo@...e.hu, ak@...e.de, akpm@...ux-foundation.org, linux-kernel@...r.kernel.org, "Zou, Nanhai" <nanhai.zou@...el.com>, "Mallick, Asit K" <asit.k.mallick@...el.com>, "Packard, Keith" <keith.packard@...el.com> Subject: Re: [patch] x86_64, irq: check remote IRR bit before migrating level triggered irq "Siddha, Suresh B" <suresh.b.siddha@...el.com> writes: > Eric, > > On Fri, May 18, 2007 at 07:40:53AM -0700, Eric W. Biederman wrote: >> Still in any of those I don't see a problem with switching to edge >> triggered mode and then back again. Either Remote IRR will keep >> it's current state or it will be cleared. Remote IRR should not >> get set (when it was clear) by such a procedure because that >> would mess up the normal interrupt enable sequence that happens >> on boot. So I'm pretty certain toggling the edge bit is harmless >> and it may actually clear Remote IRR for us. > ... >> >> I think going more the way that this code has gone on arch/i386 with >> real functions is preferable. > > There is an issue with this suggestion. We have an inflight > EOI broadcast msg to this IOAPIC (that got delayed but still alive) and > that can cause problem if we use edge and back to level to reset remote IRR bit. > > If the vector number stays same during irq migration and if we reset remote > IRR bit using the above method(edge and then back to level) during > irq migration, then we have a problem. A new interrupt arriving on a new > cpu will set the remote IRR bit and now the old inflight EOI broadcast > reaches IOAPIC RTE(resetting the remote IRR bit, because the vector in the > broadcast msg is same), while the kernel code still assumes that the remote > IRR bit is still set. This will lead to more problems and issues. Ok. I will agree that if the level->edge->level switch does not reset Remote_IRR and the EOI arrives in that window. We have another condition in which Remote_IRR can get stuck on. Eric - 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