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: <1196430400.13978.26.camel@pmac.infradead.org>
Date:	Fri, 30 Nov 2007 13:46:40 +0000
From:	David Woodhouse <dwmw2@...radead.org>
To:	David Howells <dhowells@...hat.com>, tharbaugh@...i.com
Cc:	akpm@...ux-foundation.org, linux-am33-list@...hat.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 9/9] MN10300: Fix MTD JEDEC probe so that the ASB2303
	bootprom can be detected [2.6.24-rc3-mm2]

On Thu, 2007-11-29 at 22:53 +0000, David Howells wrote:
> 
> +       /* the MN10300 ASB2303 board doesn't detect its bootprom if this test
> +        * is allowed to take place, presumably because the flash is
> +        * write-protected and so cannot be commanded for the purposes of
> +        * probing
> +        */
> +#ifndef CONFIG_MN10300_UNIT_ASB2303
>         if (uaddr != MTD_UADDR_NOT_SUPPORTED ) {
>                 /* ASSERT("The unlock addresses for non-8-bit mode
>                    are bollocks. We don't really need an array."); */
>                 uaddr = finfo->uaddr[0];
>         }
> +#endif
>  
>   uaddr_done:
>         return uaddr;

I don't like this -- it shouldn't be necessary.

The 'uaddr' field represents the magic 'unlock address'; the address to
which you have to send a sequence of write cycles before you're allowed
to send certain commands.

Although we can use 16-bit chips in 8-bit mode, the unlock address
doesn't change when we do that -- it's still the same levels on the same
pins of the address bus. Having an array of uaddr[] in the chip
definition was a mistake, and that 'assert' you've just removed for your
board was added within a few months of Thayne doing the array thing. I
really should have followed up by _removing_ the array again, by now. 

We _used_ to mangle (shift) the unlock address based on the mode, but
now we don't (I turned that off at the same time I added the above
assert. I think the definition in the table for the LV800TA is wrong,
and it should be 
                        [0] = MTD_UADDR_0x0555_0x02AA,

-- 
dwmw2

-
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