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: Sat, 16 Jul 2016 09:22:18 +0100 From: Marc Zyngier <marc.zyngier@....com> To: Alexander Popov <alex.popov@...ux.com> Cc: Thomas Gleixner <tglx@...utronix.de>, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH 1/1] irqdomain: Export __irq_domain_alloc_irqs() and irq_domain_free_irqs() On Sat, 16 Jul 2016 04:33:59 +0300 Alexander Popov <alex.popov@...ux.com> wrote: > On 08.07.2016 11:34, Alexander Popov wrote: > > On 06.07.2016 14:17, Thomas Gleixner wrote: > >> On Fri, 1 Jul 2016, Alexander Popov wrote: > >> > >>> Export __irq_domain_alloc_irqs() and irq_domain_free_irqs() for being > >>> able to work with irq_domain hierarchy in modules. > >> > >> We usually export only when we have a proper use case which is supposed to go > >> into the kernel tree proper. What's yours? > > > > Hello, Thomas, > > > > I work at Positive Technologies ( https://www.ptsecurity.com/ ). We develop > > a bare-metal hypervisor, which targets x86_64 and supports Linux as a guest OS. > > > > Intel VT-x allows hypervisor to inject interrupts into virtual machines. > > We want to handle these interrupts in guest Linux. > > > > So I wrote a simple kernel module creating an irq_domain, which has > > x86_vector_domain as a parent in the hierarchy. In this module I just call: > > - irq_domain_alloc_irqs() to allocate irqs and allow calling request_irq() > > for them; > > - irqd_cfg(irq_get_irq_data()) to get the APIC vectors of the allocated irqs; > > - irq_domain_free_irqs() to free the resources at the end. > > > > It allows to handle interrupts injected by the hypervisor in guest Linux easily, > > without emulating MSI-capable PCI device at the hypervisor side. > > > > Everything works fine if __irq_domain_alloc_irqs() and irq_domain_free_irqs() > > are exported. Is it a proper use-case? > > Hello again, Thomas, > > Did I properly answer your question? Will you accept my patch exporting these > two functions? > > > Do you think my module could be useful for the mainline in some form? > > It took me some time to understand irq_domain hierarchy design, so I can > > prepare some patch or share my code to help others. > > Do you think my paravirtualization code registering a child irq_domain > for x86_vector_domain could bring any profit to the mainline? > I would be glad to put effort and do it. I think that without any in-tree modular users of these symbols, the incentive for exporting those is pretty low. I can't really say anything about your particular use-case, but I'd really to see some code before taking that kind of patch. Thanks, M. -- Jazz is not dead. It just smells funny.
Powered by blists - more mailing lists