All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Lukas Wunner <lukas@wunner.de>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	Ashok Raj <ashok.raj@intel.com>,
	linux-pci <linux-pci@vger.kernel.org>,
	Huang Ying <ying.huang@intel.com>
Subject: Re: [PATCH] efi/cper: Fix endianness of PCI class code
Date: Wed, 10 May 2017 10:12:02 +0200	[thread overview]
Message-ID: <CAK8P3a32sbfai9NF3rX=owZZp_iogfQaPtqy6CYd_NFAJWUjvQ@mail.gmail.com> (raw)
In-Reply-To: <CAKv+Gu_4xHhX8oK847k8=s5S7Mx3sALPTtX8Eo=2+9uZyQoEAQ@mail.gmail.com>

On Wed, May 10, 2017 at 10:03 AM, Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
> On 6 May 2017 at 10:07, Lukas Wunner <lukas@wunner.de> wrote:
>> On Sat, May 06, 2017 at 08:46:07AM +0100, Ard Biesheuvel wrote:
>>> On 5 May 2017 at 19:38, Lukas Wunner <lukas@wunner.de> wrote:
>>> > The CPER parser assumes that the class code is big endian, but at least
>>> > on this edk2-derived Intel Purley platform it's little endian:
>> [snip]
>>> > --- a/include/linux/cper.h
>>> > +++ b/include/linux/cper.h
>>> > @@ -416,7 +416,7 @@ struct cper_sec_pcie {
>>> >         struct {
>>> >                 __u16   vendor_id;
>>> >                 __u16   device_id;
>>> > -               __u8    class_code[3];
>>> > +               __u32   class_code:24;
>>>
>>> I'd like to avoid this change if we can. Couldn't we simply invert the
>>> order of p[] above?
>>
>> Hm, why would you like to avoid it?
>
> Because we shouldn't use bitfields in structs in code that should be
> portable across archs with different endiannesses.
>
>>  The class_code element isn't
>> referenced anywhere else in the kernel and this isn't a uapi header,
>> so the change would only impact out-of-tree drivers.  Not sure if
>> any exist which might be interested in CPER parsing.
>>
>
> The point is that the change in the struct definition is simply not
> necessary, given that inverting the order of p[] already achieves
> exactly what we want.

Agreed on both, the code needs to remain endian-neutral.
If it's currently wrong on all architectures, then it needs to
be fixed on all architectures too.

       Arnd

  reply	other threads:[~2017-05-10  8:12 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-05 18:38 [PATCH] efi/cper: Fix endianness of PCI class code Lukas Wunner
2017-05-05 18:38 ` Lukas Wunner
     [not found] ` <771bc335fb5856792d086ae7db288dcf244cb4cd.1493964354.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-05-06  7:46   ` Ard Biesheuvel
2017-05-06  7:46     ` Ard Biesheuvel
2017-05-06  9:07     ` Lukas Wunner
2017-05-10  8:03       ` Ard Biesheuvel
2017-05-10  8:12         ` Arnd Bergmann [this message]
2017-05-10  8:41         ` Lukas Wunner
2017-05-11 14:06           ` Ard Biesheuvel
     [not found]             ` <CAKv+Gu81gvNL1jkb3T35=-5fr_x-BmSg9X2CcQ97xv5JTZ-c1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-11 14:48               ` David Daney
2017-05-11 14:48                 ` David Daney
2017-05-25 12:30               ` Lukas Wunner
2017-05-25 12:30                 ` Lukas Wunner
     [not found]                 ` <20170525123047.GA4172-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-05-25 12:36                   ` Ard Biesheuvel
2017-05-25 12:36                     ` Ard Biesheuvel
     [not found]                     ` <CAKv+Gu_3vYKGOrzC8+Y3QwXOtV8Tbm8HC7nzQCdKVB1Qbdoriw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-25 12:44                       ` Lukas Wunner
2017-05-25 12:44                         ` Lukas Wunner
2017-05-25 12:47                         ` Ard Biesheuvel
2017-05-25 12:56                           ` Lukas Wunner
     [not found]                             ` <20170525125650.GA4196-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-05-25 13:07                               ` Ard Biesheuvel
2017-05-25 13:07                                 ` Ard Biesheuvel
2017-05-26  6:08                                 ` Lukas Wunner
2017-05-26  8:01                                   ` Arnd Bergmann
2017-05-26 10:45                                     ` Lukas Wunner
2017-05-26  9:16                                   ` Ard Biesheuvel
     [not found]                                     ` <CAKv+Gu_fbNSK+LuWmQGqLHtu3rF9BdYwNB+K-myNXS=X+goXkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-26 10:43                                       ` Lukas Wunner
2017-05-26 10:43                                         ` Lukas Wunner

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='CAK8P3a32sbfai9NF3rX=owZZp_iogfQaPtqy6CYd_NFAJWUjvQ@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=ard.biesheuvel@linaro.org \
    --cc=ashok.raj@intel.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=ying.huang@intel.com \
    /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.