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, 23 Apr 2012 09:28:39 +0200
From:	Wolfram Sang <w.sang@...gutronix.de>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
	Arnd Bergmann <arnd@...db.de>,
	Shawn Guo <shawn.guo@...aro.org>,
	Huang Shijie <b32955@...escale.com>
Subject: Re: [PATCH V2 1/3] lib: add support for stmp-style devices

On Sun, Apr 22, 2012 at 11:55:06PM -0700, Andrew Morton wrote:
> On Wed, 21 Mar 2012 23:21:57 +0100 Wolfram Sang <w.sang@...gutronix.de> wrote:
> 
> > MX23/28 use IP cores which follow a register layout I have first seen on
> > STMP3xxx SoCs. In this layout, every register actually has four u32:
> > 
> >  1.) to store a value directly
> >  2.) a SET register where every 1-bit sets the corresponding bit,
> >      others are unaffected
> >  3.) same with a CLR register
> >  4.) same with a TOG (toggle) register
> > 
> > Also, the 2 MSBs in register 0 are always the same and can be used to reset
> > the IP core.
> > 
> > All this is strictly speaking not mach-specific (but IP core specific) and,
> > thus, doesn't need to be in mach-mxs/include. At least, mx6 and mx50 also
> > utilize IP cores following this stmp-style. So:
> > 
> > Introduce a stmp-style device, put the code and defines for that in a public
> > place (lib/), and let drivers for stmp-style devices select that code.
> > To avoid regressions and ease reviewing, the actual code is simply copied from
> > mach-mxs. It definately wants updates, but those need a seperate patch series.
> > 
> > Voila, mach dependency gone, reusable code introduced. Note that I didn't
> > remove the duplicated code from mach-mxs yet, first the drivers have to be
> > converted.
> > 
> > ...
> >
> >  include/linux/stmp_device.h |   20 +++++++++++
> >  lib/Kconfig                 |    3 ++
> >  lib/Makefile                |    2 +
> >  lib/stmp_device.c           |   80 +++++++++++++++++++++++++++++++++++++++++++
> 
> It's good that this is being presented as library code, rather than
> being buried in some device-specific directory then copied and pasted
> ten times.
> 
> But ./lib/ does seem rather a strange place for it.  Perhaps we need a
> drivers/lib/ or something.  We can use ./lib/ for now - it can always
> be moved later on.

The first version had it in drivers/base/ but that also felt strange.
I like drivers/lib/. Arnd, do you agree? Shall I resend?

> 
> > --- /dev/null
> > +++ b/lib/stmp_device.c
> 
> The functions in this file look terribly racy on SMP, or even with
> preemption or interrupts.  What happens if two CPUs or threads run
> stmp_reset_block() against the same device at the same time?
> 
> Perhaps the caller is supposed to prevent that, and the documentation
> which isn't there forgot to mention it ;)

The code needs even more cleanups, timeouts are terrible as well. But as
mentioned above, this series only moves existing code to a central
place. Improvements would be the next, seperate step.

Regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

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