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]
Date:	Mon, 29 Sep 2014 16:23:08 +0200 (CEST)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
cc:	marc.zyngier@....com, mark.rutland@....com, jason@...edaemon.net,
	will.deacon@....com, catalin.marinas@....com,
	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
	linux-pci@...r.kernel.org, linux-doc@...r.kernel.org,
	devicetree@...r.kernel.org
Subject: Re: [RFC 4/4] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

On Sun, 28 Sep 2014, Suravee Suthikulpanit wrote:

> Jason/Thomas,
> 
> This patch comes from:
>     [V8 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)
>     (https://lkml.org/lkml/2014/9/20/113)
> 
> It has been slightly modified to remove the multi-MSI supports for now
> (I am waiting to discuss with Marc after he returned from vacation.), and will
> be submitted separately.
> 
> Since this patch is independent from the multi-MSI stuff.  Please let me know
> if you would consider taking this separately.

Not without an explicit reviewed/acked from Marc for the GIC part and
a reviewed/acked from the DT folks.

Aside of that the conditional madness is just horrible:
 
> > +static inline
> > +struct gic_chip_data *irq_data_get_gic_chip_data(struct irq_data *d)
> > +{
> > +	struct gic_chip_data *gic_data;
> > +	struct msi_chip *mchip;
> > +	struct v2m_data *v2mdat;
> > +
> > +	/*
> > +	 * For MSI, irq_data.chip_data points to struct msi_chip.
> > +	 * For non-MSI, irq_data.chip_data points to struct gic_chip_data.
> > +	 */
> > +	if (d->msi_desc) {
> > +		mchip = irq_data_get_irq_chip_data(d);
> > +		v2mdat = container_of(mchip, struct v2m_data, msi_chip);
> > +		gic_data = v2mdat->gic;
> > +	} else {
> > +		gic_data = irq_data_get_irq_chip_data(d);
> > +	}
> > +	return gic_data;
> > +}

For heavens sake, why are you insisting on duct-taping that into the
GIC proper instead of coming up with a proper layering?

    https://lkml.org/lkml/2014/8/27/228
    https://lkml.org/lkml/2014/8/26/707

Thanks,

	tglx
    

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