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: <201502241838.44317@pali>
Date:	Tue, 24 Feb 2015 18:38:44 +0100
From:	Pali Rohár <pali.rohar@...il.com>
To:	Tony Lindgren <tony@...mide.com>
Cc:	Nishanth Menon <nm@...com>, Felipe Balbi <balbi@...com>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>,
	Aaro Koskinen <aaro.koskinen@....fi>,
	Sebastian Reichel <sre@...nel.org>,
	Pavel Machek <pavel@....cz>, linux-kernel@...r.kernel.org,
	linux-omap@...r.kernel.org, linux-crypto@...r.kernel.org
Subject: Re: Nokia N900: omap aes is broken

On Tuesday 24 February 2015 18:25:12 Tony Lindgren wrote:
> * Pali Rohár <pali.rohar@...il.com> [150218 16:03]:
> > On Wednesday 18 February 2015 22:02:30 Pali Rohár wrote:
> > > On Wednesday 18 February 2015 13:21:03 Pali Rohár wrote:
> > > > Hello,
> > > > 
> > > > I tried to test OMAP AES driver on Nokia N900 with
> > > > special Nokia bootloader which enable L3 firewall for
> > > > OMAP AES HW support.
> > > > 
> > > > I modified arch/arm/boot/dts/omap34xx-hs.dtsi file and
> > > > commented aes line which disable aes support in DT.
> > > > 
> > > > Then I booted kernel and loaded omap-aes.ko module. And
> > > > I got this output in dmesg:
> > > > 
> > > > [    0.222930] platform 480c5000.aes: Cannot lookup
> > > > hwmod 'aes' [   27.758148] omap-aes 480c5000.aes:
> > > > _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev
> > > > info [   27.765960] omap-aes 480c5000.aes:
> > > > omap_aes_probe: failed to get_sync(-19)
> > > > [   29.257690] omap-aes 480c5000.aes: initialization
> > > > failed.
> > > > 
> > > > So it looks like some initialization data are missing
> > > > for Nokia N900 (omap3430 device).
> > > > 
> > > > Can somebody look at it? I have patched 2.6.28 kernel
> > > > were omap aes support on this N900 device (with special
> > > > bootloader) is working.
> > > > 
> > > > Maybe some other data are missing in DT or in hwmod?
> > > 
> > > dma channels are missing in DT. I applied this patch:
> > > 
> > > diff --git a/arch/arm/boot/dts/omap3.dtsi
> > > b/arch/arm/boot/dts/omap3.dtsi index 01b7111..473d460
> > > 100644 --- a/arch/arm/boot/dts/omap3.dtsi
> > > +++ b/arch/arm/boot/dts/omap3.dtsi
> > > @@ -92,6 +92,8 @@
> > > 
> > >  			ti,hwmods = "aes";
> > >  			reg = <0x480c5000 0x50>;
> > >  			interrupts = <0>;
> > > 
> > > +			dmas = <&sdma 65 &sdma 66>;
> > > +			dma-names = "tx", "rx";
> > > 
> > >  		};
> > >  		
> > >  		prm: prm@...06000 {
> > > 
> > > @@ -550,6 +552,8 @@
> > > 
> > >  			ti,hwmods = "sham";
> > >  			reg = <0x480c3000 0x64>;
> > >  			interrupts = <49>;
> > > 
> > > +			dmas = <&sdma 96>;
> > > +			dma-names = "rx";
> > > 
> > >  		};
> > >  		
> > >  		smartreflex_core: smartreflex@...cb000 {
> > > 
> > > and omap-aes driver was successfully loaded. now it is in
> > > /proc/crypto
> > > 
> > > I copied dma names and numbers from file
> > > arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > 
> > And I also needed to apply this patch:
> > 
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index
> > 11468ee..3281f30 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > @@ -3938,8 +3938,9 @@ int __init omap3xxx_hwmod_init(void)
> > 
> >  	if (r < 0)
> >  	
> >  		return r;
> > 
> > -	/* Register GP-only hwmod links. */
> > -	if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) {
> > +//	/* Register GP-only hwmod links. */
> > +//	if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) {
> > +	if (h_gp) {
> > 
> >  		r = omap_hwmod_register_links(h_gp);
> >  		if (r < 0)
> >  		
> >  			return r;
> > 
> > aes hwmod is defined in GP-only hwmod...
> 
> Doesn't this depend on the bootloader version of n900 to work?
> 
> Regards,
> 
> Tony

Ok, it looks like second patch (omap_hwmod_3xxx_data.c) needs 
that aes-enabled bootloader.

But first patch (omap3.dtsi) is needed for proper definitions. 
Otherwise omap-aes driver will never work on DT systems.

-- 
Pali Rohár
pali.rohar@...il.com

Download attachment "signature.asc " of type "application/pgp-signature" (199 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ