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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1801170832460.2366@nanos>
Date:   Wed, 17 Jan 2018 08:34:22 +0100 (CET)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Keith Busch <keith.busch@...el.com>
cc:     LKML <linux-kernel@...r.kernel.org>
Subject: Re: [BUG 4.15-rc7] IRQ matrix management errors

On Tue, 16 Jan 2018, Keith Busch wrote:
> On Tue, Jan 16, 2018 at 12:20:18PM +0100, Thomas Gleixner wrote:
> > 8<----------------------
> > diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
> > index f8b03bb8e725..3cc471beb50b 100644
> > --- a/arch/x86/kernel/apic/vector.c
> > +++ b/arch/x86/kernel/apic/vector.c
> > @@ -542,14 +542,17 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
> >  
> >  		err = assign_irq_vector_policy(irqd, info);
> >  		trace_vector_setup(virq + i, false, err);
> > -		if (err)
> > +		if (err) {
> > +			irqd->chip_data = NULL;
> > +			free_apic_chip_data(apicd);
> >  			goto error;
> > +		}
> >  	}
> >  
> >  	return 0;
> >  
> >  error:
> > -	x86_vector_free_irqs(domain, virq, i + 1);
> > +	x86_vector_free_irqs(domain, virq, i);
> >  	return err;
> >  }
> >  
> 
> The patch does indeed fix all the warnings and allows device binding to
> succeed, albeit in a degraded performance mode. Despite that, this is
> a good fix, and looks applicable to 4.4-stable, so:
> 
> Tested-by: Keith Busch <keith.busch@...el.com>
> 
> I'm still concerned assign_irq_vector_policy is failing. That has
> interrupt allocation abandon MSI-x and fall back to legacy IRQ.

Can you trace the matrix allocations from the very beginning or tell me how
to reproduce. I'd like to figure out why this is happening.
 
> Your patch does address my main concern, though. Are you comfortable
> enough to queue this up for 4.15?

Yes, it's a pretty obvious bug and the fix is straight forward.

Thanks,

	tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ