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, 20 Mar 2007 18:53:54 -0800 From: Zachary Amsden <zach@...are.com> To: Linus Torvalds <torvalds@...ux-foundation.org> CC: Jeremy Fitzhardinge <jeremy@...p.org>, "Eric W. Biederman" <ebiederm@...ssion.com>, Rusty Russell <rusty@...tcorp.com.au>, Andi Kleen <ak@....de>, David Miller <davem@...emloft.net>, mingo@...e.hu, akpm@...ux-foundation.org, linux-kernel@...r.kernel.org, virtualization@...ts.osdl.org, xen-devel@...ts.xensource.com, chrisw@...s-sol.org, anthony@...emonkey.ws, netdev@...r.kernel.org Subject: Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable Linus Torvalds wrote: > On Tue, 20 Mar 2007, Zachary Amsden wrote: > >> void local_irq_restore(int enabled) >> { >> pda.intr_mask = enabled; >> /* >> * note there is a window here where softirqs are not processed by >> * the interrupt handler, but that is not a problem, since it will >> * get done here in the outer enable of any nested pair. >> */ >> if (enabled) >> local_bh_enable(); >> } >> > > Actually, this one is more complicated. You also need to actually enable > hardware interrupts again if they got disabled by an interrupt actually > occurring while the "soft-interrupt" was disabled. > Actually, I was thinking the irq handlers would just not mess around with eflags on the stack, just call the chip to ack the interrupt and re-enable hardware interrupts when they left, since that is free anyway with the iret. Maybe leaving irqs disabled is better. > Anyway, it really *should* be pretty damn simple. No need to disable > preemption, there should be no events that can *cause* it, since all > interrupts get headed off at the pass.. (the return-from-interrupt thng > should already notice that it's returning to an interrupts-disabled > section and not try to do any preemption). > > What did I miss? > I wasn't disabling preemption to actually disable preemption. I was just using bh_disable as a global hammer to stop softirqs (thus the irq replay tasklet) from running during the normal irq_exit path. Then, we can just use the existing software IRQ replay code, and I think barely any new code (queue_irq(), etc) has to be written. Zach - 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