[U-Boot] [PATCH 1/5] Add bmp_layout module for accessing BMP header data

Wolfgang Denk wd at denx.de
Mon Feb 4 20:26:18 CET 2013


Dear Nikita Kiryanov,

In message <1359977979-28585-2-git-send-email-nikita at compulab.co.il> you wrote:
> Currently code that displays BMP files does two things:
> * assume that any address is a valid load address for a BMP
> * access in-memory BMP header fields directly
> 
> Since some BMP header fields are 32 bit wide, this has a potential
> for causing data aborts when these fields are placed in unaligned
> addresses.
> 
> Create an API for safely accessing BMP header data, and compile it with
> $(PLATFORM_NO_UNALIGNED) to give it the ability to emulate unaligned memory
> accesses.

Frankly,  I think this is overkill.  U-Boot is a bootloader, and it is
supposed to be lean and eficient.  We don't have all levels of safety
systems and protective devices as in, for example, an aircraft.  You
are supposed to know what you are doing, and if you ignore the rules,
you will quickly see the results yourself.

There is plenty of other areas where correct opration requires certain
alignments, and none of these are enforced by U-Boot.  And actually I
think this is not only acceptable, but good as is.

"UNIX was not designed to stop you from doing stupid things,  because
that would also stop you from doing clever things."       - Doug Gwyn


You talk about BMP header - but we also have alignment requirements
for image headers, well, even for a plain "md" or "mw" command.  And
none of these provide any protection against accidsential (or
intentional) access to unaligned addresses.

My recommendation is: just don;t do it, then.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A wise person makes his  own  decisions,  a  weak  one  obeys  public
opinion.                                           -- Chinese proverb


More information about the U-Boot mailing list