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] [day] [month] [year] [list]
Date:	Fri, 13 Jun 2008 16:39:40 +0200
From:	Stefan Roscher <ossrosch@...ux.vnet.ibm.com>
To:	Roland Dreier <rdreier@...co.com>
Cc:	Roland Dreier <rolandd@...co.com>,
	Paul Mackerras <paulus@...ba.org>,
	"LinuxPPC-Dev" <linuxppc-dev@...abs.org>,
	LKML <linux-kernel@...r.kernel.org>,
	"OF-EWG" <ewg@...ts.openfabrics.org>,
	general@...ts.openfabrics.org, fenkes@...ibm.com,
	raisch@...ibm.com, hnguyen@...ibm.com, TKLEIN@...ibm.com,
	THEMANN@...ibm.com
Subject: Re: [PATCH REPOST] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

Hi Roland,

On Tuesday 10 June 2008 18:18:50 Roland Dreier wrote:
>  > > So just to be clear: this is a workaround for a hardware/firmware bug?
> 
>  > Yes it is.
> 
> OK, so paulus et al... does it seem like a good approach to call H_EOI
> from driver code (given that this driver makes tons of other hcalls)?
> 
> How critical is this?  Since you said "corner case testing" I suspect we
> can defer this to 2.6.27 and maybe get it into -stable later?

No, it's ok with me if you pick this for 2.6.27.
> 
> Also, out of curiousity:
> 
>  > +u64 hipz_h_eoi(int irq)
>  > +{
>  > +	int value;
>  > +	unsigned long xirr;
>  > +
>  > +	iosync();
> 
> what is the iosync() required for here?

It's the same sequence as the interrupt handler for powerpc is implemented.

> 
>  > +	value = (0xff << 24) | irq;
>  > +	xirr = value & 0xffffffff;
> 
> given that irq and value are ints, is there any possible way value could
> have bits outside of the low 32 set?  If you're worried about sign
> extension isn't it simpler to just make value unsigned?
> 
>  > +	return plpar_hcall_norets(H_EOI, xirr);
>  > +}
> 
> ie why not:
> 
> u64 hipz_h_eoi(int irq)
> {
> 	unsigned xirr;
> 
> 	iosync();
> 	xirr = (0xff << 24) | irq;
> 	return plpar_hcall_norets(H_EOI, xirr);
> }
> 
Yeah, you are rigth I will change that with the final patch.
I will send the final patch soon.

regards Stefan


--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ