From: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
To: Roy Franz <roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
Leif Lindholm
<leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Mark Salter <msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 10/18] Do proper conversion from UTF-16 to UTF-8
Date: Sun, 22 Sep 2013 17:24:28 -0700 [thread overview]
Message-ID: <523F8A3C.7010209@zytor.com> (raw)
In-Reply-To: <CAFECyb_8hqLFajMUfwctVee8e8UvErmu4jmbPguWaeMc-MZuNA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 09/22/2013 04:07 PM, Roy Franz wrote:
> On Sun, Sep 22, 2013 at 3:54 PM, H. Peter Anvin <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org> wrote:
>> Sorry this version is broken and doesn't even compile due to remaining options_size references.
>
> I compiled and tested this series on both x86_64 (using OVMF) and on
> the ARM simulator. I just doubled checked
> my kernel .config to verify this was not being omitted and I'm pretty
> sure this doesn't have any compilation problems.
> I did make a few changes to get the untested version you sent out to
> compile, but they all seemed to be straightforward typo type fixes.
> I'll gladly address any defects in this patch, but I don't see an
> compilation problems.
>
Ah yes, I see now... you fixed up the compile problem but did so
incorrectly.
int load_options_size = image->load_options_size / 2; /* ASCII */
This is a number of UTF-16 chars, the comment is completely wrong;
- while (*s2 && *s2 != '\n' && options_size <
load_options_size) {
+ while (*s2 && *s2 != '\n' && options_bytes <
load_options_size) {
+ options_bytes += efi_utf8_bytes(*s2);
s2++;
- options_size++;
}
+ options_chars = s2 - options;
You can't compare options_bytes against load_options_size; the latter
being a UTF-16 shortword count.
So the loop really needs to update options_chars in the loop to compare
it against load_options_size:
while (*s2 && *s2 != '\n' && options_chars < load_options_size) {
options_bytes += efi_utf8_bytes(*s2++);
option_chars++;
}
-hpa
WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com>
To: Roy Franz <roy.franz@linaro.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-efi@vger.kernel.org, matt.fleming@intel.com,
Leif Lindholm <leif.lindholm@linaro.org>,
Grant Likely <grant.likely@linaro.org>,
Mark Salter <msalter@redhat.com>
Subject: Re: [PATCH 10/18] Do proper conversion from UTF-16 to UTF-8
Date: Sun, 22 Sep 2013 17:24:28 -0700 [thread overview]
Message-ID: <523F8A3C.7010209@zytor.com> (raw)
In-Reply-To: <CAFECyb_8hqLFajMUfwctVee8e8UvErmu4jmbPguWaeMc-MZuNA@mail.gmail.com>
On 09/22/2013 04:07 PM, Roy Franz wrote:
> On Sun, Sep 22, 2013 at 3:54 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>> Sorry this version is broken and doesn't even compile due to remaining options_size references.
>
> I compiled and tested this series on both x86_64 (using OVMF) and on
> the ARM simulator. I just doubled checked
> my kernel .config to verify this was not being omitted and I'm pretty
> sure this doesn't have any compilation problems.
> I did make a few changes to get the untested version you sent out to
> compile, but they all seemed to be straightforward typo type fixes.
> I'll gladly address any defects in this patch, but I don't see an
> compilation problems.
>
Ah yes, I see now... you fixed up the compile problem but did so
incorrectly.
int load_options_size = image->load_options_size / 2; /* ASCII */
This is a number of UTF-16 chars, the comment is completely wrong;
- while (*s2 && *s2 != '\n' && options_size <
load_options_size) {
+ while (*s2 && *s2 != '\n' && options_bytes <
load_options_size) {
+ options_bytes += efi_utf8_bytes(*s2);
s2++;
- options_size++;
}
+ options_chars = s2 - options;
You can't compare options_bytes against load_options_size; the latter
being a UTF-16 shortword count.
So the loop really needs to update options_chars in the loop to compare
it against load_options_size:
while (*s2 && *s2 != '\n' && options_chars < load_options_size) {
options_bytes += efi_utf8_bytes(*s2++);
option_chars++;
}
-hpa
next prev parent reply other threads:[~2013-09-23 0:24 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-22 22:45 [PATCH V5 00/18] ARM EFI stub common code Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 03/18] Move common EFI stub code from x86 arch code to common location Roy Franz
2013-09-22 22:45 ` [PATCH 04/18] Add system table pointer argument to shared functions Roy Franz
2013-09-22 22:45 ` [PATCH 05/18] Rename memory allocation/free functions Roy Franz
2013-09-22 22:45 ` [PATCH 07/18] Move relocate_kernel() to shared file Roy Franz
2013-09-22 22:45 ` [PATCH 08/18] Generalize relocate_kernel() for use by other architectures Roy Franz
2013-09-25 12:01 ` Matt Fleming
2013-09-22 22:45 ` [PATCH 10/18] Do proper conversion from UTF-16 to UTF-8 Roy Franz
[not found] ` <1379889942-3135-11-git-send-email-roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-09-22 22:54 ` H. Peter Anvin
2013-09-22 22:54 ` H. Peter Anvin
[not found] ` <e69e8c38-b195-4797-8ae2-65d69ed9d7aa-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2013-09-22 23:07 ` Roy Franz
2013-09-22 23:07 ` Roy Franz
[not found] ` <CAFECyb_8hqLFajMUfwctVee8e8UvErmu4jmbPguWaeMc-MZuNA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-23 0:24 ` H. Peter Anvin [this message]
2013-09-23 0:24 ` H. Peter Anvin
2013-09-25 12:01 ` Matt Fleming
[not found] ` <20130925120149.GH21381-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-09-25 14:15 ` Roy Franz
2013-09-25 14:15 ` Roy Franz
2013-09-22 22:45 ` [PATCH 12/18] generalize efi_get_memory_map() Roy Franz
2013-09-22 22:45 ` [PATCH 13/18] use efi_get_memory_map() to get final map for x86 Roy Franz
2013-09-22 22:45 ` [PATCH 14/18] Allow efi_free() to be called with size of 0, and do nothing in that case Roy Franz
[not found] ` <1379889942-3135-1-git-send-email-roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-09-22 22:45 ` [PATCH 01/18] EFI stub documentation updates Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 02/18] Add proper definitions for some EFI function pointers Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 06/18] Enforce minimum alignment of 1 page on allocations Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-25 12:01 ` Matt Fleming
2013-09-22 22:45 ` [PATCH 09/18] Move unicode to ASCII conversion to shared function Roy Franz
2013-09-22 22:45 ` Roy Franz
[not found] ` <1379889942-3135-10-git-send-email-roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-09-25 12:01 ` Matt Fleming
2013-09-25 12:01 ` Matt Fleming
2013-09-22 22:45 ` [PATCH 11/18] Rename __get_map() to efi_get_memory_map() Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 15/18] Generalize handle_ramdisks() and rename to handle_cmdline_files() Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 16/18] Renames in handle_cmdline_files() to complete generalization Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 17/18] Fix types in EFI calls to match EFI function definitions Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-22 22:45 ` [PATCH 18/18] resolve warnings found on ARM compile Roy Franz
2013-09-22 22:45 ` Roy Franz
2013-09-25 12:11 ` [PATCH V5 00/18] ARM EFI stub common code Matt Fleming
2013-09-25 12:11 ` Matt Fleming
[not found] ` <20130925121120.GI21381-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-09-25 12:21 ` Matt Fleming
2013-09-25 12:21 ` Matt Fleming
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=523F8A3C.7010209@zytor.com \
--to=hpa-ymnouzjc4hwavxtiumwx3w@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
/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.