Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1552422

Re: [PATCH] x86/microcode/intel: Fix allocation size of struct ucode_patch

From Junichi Nomura <j-nomura@ce.jp.nec.com>
Newsgroups linux.kernel
Subject Re: [PATCH] x86/microcode/intel: Fix allocation size of struct ucode_patch
Date 2017-01-06 01:20 +0100
Message-ID <sWqqe-25X-9@gated-at.bofh.it> (permalink)
References <sW5lL-4mv-3@gated-at.bofh.it> <sWkkO-6b3-25@gated-at.bofh.it> <sWq6R-1FB-19@gated-at.bofh.it> <sWqgy-217-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 01/06/17 09:02, Borislav Petkov wrote:
> On Thu, Jan 05, 2017 at 11:52:07PM +0000, Junichi Nomura wrote:
>>>> +       p = kzalloc(sizeof(struct ucode_patch), GFP_KERNEL);
>>>
>>> Perhaps sizeof(*p) ?
>>
>> Yeah, that might be preferred.
> 
> No, those things are never preferred because
> 
> 	sizeof(struct <type>)
> 
> tells you exactly the size of what kind of object you're getting vs
> 
> 	sizeof(*p)
> 
> which tells you you're getting the size of what p points to.
> 
> Now you have to go look at p and what type it is. In the current case, p
> is defined not far away from the use site but in a larger function, you
> most likely need to eyeball up to its type when reading the code. Which
> makes the whole thing less readable.

Personally I have same opinion as yours. :)

But according to Documentation/process/coding-style.rst, it seems
"sizeof(*p)" is preferred style and the reason there makes some
sense.

Quote from coding-style.rst:
  > The preferred form for passing a size of a struct is the following:
  > 
  >         p = kmalloc(sizeof(*p), ...);
  > 
  > The alternative form where struct name is spelled out hurts readability and
  > introduces an opportunity for a bug when the pointer variable type is changed
  > but the corresponding sizeof that is passed to a memory allocator is not.

I'm fine with either way.

-- 
Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd.

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Junichi Nomura <j-nomura@ce.jp.nec.com> - 2017-01-05 02:50 +0100
  Re: [PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Borislav Petkov <bp@alien8.de> - 2017-01-05 11:30 +0100
  Re: [PATCH] x86/microcode/intel: Fix allocation size of struct ucode_patch Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-01-05 18:50 +0100
    Re: [PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Junichi Nomura <j-nomura@ce.jp.nec.com> - 2017-01-06 01:00 +0100
      Re: [PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Borislav Petkov <bp@alien8.de> - 2017-01-06 01:10 +0100
        Re: [PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Junichi Nomura <j-nomura@ce.jp.nec.com> - 2017-01-06 01:20 +0100
          Re: [PATCH] x86/microcode/intel: Fix allocation size of struct  ucode_patch Borislav Petkov <bp@alien8.de> - 2017-01-06 12:00 +0100
  [tip:x86/urgent] x86/microcode/intel: Fix allocation size of struct  ucode_patch tip-bot for Junichi Nomura <tipbot@zytor.com> - 2017-01-09 23:20 +0100

csiph-web