From: Nam Cao <namcao@linutronix.de>
To: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>,
Mattijs Korpershoek <mkorpershoek@baylibre.com>,
Ion Agorria <ion@agorria.com>,
Svyatoslav Ryhel <clamor95@gmail.com>,
Mayuresh Chitale <mchitale@ventanamicro.com>,
Sean Anderson <seanga2@gmail.com>,
AKASHI Takahiro <akashi.tkhro@gmail.com>,
Javier Fernandez Pastrana <javier.pastrana@linutronix.de>,
u-boot@lists.denx.de
Subject: Re: [PATCH 2/2] boot: extlinux: Fix unaligned buffer for reading data from file system
Date: Thu, 7 Nov 2024 14:57:21 +0100 [thread overview]
Message-ID: <20241107135721.Ysrcbase@linutronix.de> (raw)
In-Reply-To: <CAFLszThMD+Gh6M8B7eqDSDRCSPOgDM25SY6qANHBhh50HFz5Lg@mail.gmail.com>
Hi Simon,
On Thu, Nov 07, 2024 at 06:44:30AM -0700, Simon Glass wrote:
> On Wed, 6 Nov 2024 at 09:34, Nam Cao <namcao@linutronix.de> wrote:
> >
> > extlinux_read_bootflow() allocates a buffer to read from file system
> > without any alignment.
> >
> > But for some block devices which transfer data via DMA, ARCH_DMA_MINALIGN
> > alignment is required. For example, due to misaligned buffer, the below
> > boot failure is observed.
> >
> > => boot
> > CACHE: Misaligned operation at range [9efa25f8, 9efa27f8]
> > CACHE: Misaligned operation at range [9efa25f8, 9efa27f8]
> > CACHE: Misaligned operation at range [9efa25f8, 9efa27f8]
> > CACHE: Misaligned operation at range [9efa25f8, 9efa27f8]
> > ** Booting bootflow 'mmc@2194000.bootdev.part_1' with extlinux
> > Ignoring unknown command: �D���D��
> > Boot failed (err=-14)
> >
> > Change the alignment to default (which is ARCH_DMA_MINALIGN).
> >
> > Fixes: 31aefaf89a5b ("bootstd: Add an implementation of distro boot")
> > Signed-off-by: Nam Cao <namcao@linutronix.de>
> > Tested-by: Javier Fernandez Pastrana <javier.pastrana@linutronix.de>
> > ---
> > boot/bootmeth_extlinux.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/boot/bootmeth_extlinux.c b/boot/bootmeth_extlinux.c
> > index ae0ad1d53e3..5424d179bf8 100644
> > --- a/boot/bootmeth_extlinux.c
> > +++ b/boot/bootmeth_extlinux.c
> > @@ -127,7 +127,7 @@ static int extlinux_read_bootflow(struct udevice *dev, struct bootflow *bflow)
> > return log_msg_ret("try", ret);
> > size = bflow->size;
> >
> > - ret = bootmeth_alloc_file(bflow, 0x10000, 1);
> > + ret = bootmeth_alloc_file(bflow, 0x10000, 0);
>
> Can you please use ARCH_DMA_MINALIGN here? Either that or update
> bootmeth_script to do the same as here.
No preference from me. Let's just use ARCH_DMA_MINALIGN here.
Thanks for the comments,
Nam
prev parent reply other threads:[~2024-11-07 13:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-06 16:34 [PATCH 0/2] Fix boot failure due to misaligned DMA buffer Nam Cao
2024-11-06 16:34 ` [PATCH 1/2] fs: Use ARCH_DMA_MINALIGN as default alignment for fs_read_alloc() Nam Cao
2024-11-07 13:44 ` Simon Glass
2024-11-07 13:54 ` Nam Cao
2024-11-06 16:34 ` [PATCH 2/2] boot: extlinux: Fix unaligned buffer for reading data from file system Nam Cao
2024-11-07 13:44 ` Simon Glass
2024-11-07 13:57 ` Nam Cao [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241107135721.Ysrcbase@linutronix.de \
--to=namcao@linutronix.de \
--cc=akashi.tkhro@gmail.com \
--cc=clamor95@gmail.com \
--cc=ion@agorria.com \
--cc=javier.pastrana@linutronix.de \
--cc=mchitale@ventanamicro.com \
--cc=mkorpershoek@baylibre.com \
--cc=seanga2@gmail.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.