From: Joe Perches <joe@perches•com>
To: Julia Lawall <julia.lawall@lip6•fr>, Alexander.Steffen@infineon•com
Cc: elfring@users•sourceforge.net, linux-integrity@vger•kernel.org,
linuxppc-dev@lists•ozlabs.org,
James.Bottomley@HansenPartnership•comg, dan.carpenter@oracle•com,
jarkko.sakkinen@linux•intel.com,
andriy.shevchenko@linux•intel.com, benh@kernel•crashing.org,
clabbe.montjoie@gmail•com, jgunthorpe@obsidianresearch•com,
jsnitsel@redhat•com, kgold@linux•vnet.ibm.com,
mpe@ellerman•id.au, nayna@linux•vnet.ibm.com, paulus@samba•org,
PeterHuewe@gmx•de, stefanb@linux•vnet.ibm.com,
linux-kernel@vger•kernel.org, kernel-janitors@vger•kernel.org
Subject: Re: char-TPM: Adjustments for ten function implementations
Date: Wed, 18 Oct 2017 03:28:30 -0700 [thread overview]
Message-ID: <1508322510.6806.3.camel@perches.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1710181154390.3524@hadrien>
On Wed, 2017-10-18 at 12:00 +0200, Julia Lawall wrote:
>
> On Wed, 18 Oct 2017, Alexander.Steffen@infineon•com wrote:
>
> > > On Wed, 2017-10-18 at 11:00 +0200, SF Markus Elfring wrote:
> > > > > The printk removals do change the objects.
> > > > >
> > > > > The value of that type of change is only for resource limited systems.
> > > >
> > > > I imagine that such small code adjustments are also useful for other
> > >
> > > systems.
> > >
> > > Your imagination and mine differ.
> > > Where do you _think_ it matters?
> > >
> > > For instance, nothing about
> > >
> > > sizeof(type)
> > > vs
> > > sizeof(*ptr)
> > >
> > > makes it easier for a human to read the code.
> >
> > If it does not make it easier to read the code for you, then maybe you
> > should consider that this might not be true for all humans. For me, it
> > makes it much easier to see at a glance, that code like
> > ptr=malloc(sizeof(*ptr)) is correct.
>
> I don't think there is a perfect solution. The type argument to sizeof
> could have the wrong type. The expression argument to sizeof could be
> missing the *.
Yup.
Today, even after all of Markus' patches for this style
conversion, there is still only ~2:1 preference for
ptr = k.alloc(sizeof(*ptr))
over
ptr = k.alloc(sizeof(struct foo))
in the kernel tree
Ugly grep follows:
$ grep -rohP --include=*.[ch] "\w+\s*=\s*[kv].alloc\s*\(\s*sizeof.*," * | \
sed -r -e 's/(\w+)\s*=\s*[kv].alloc\s*\(\s*sizeof\s*\(\s*\*\s*\1\s*\)/foo = k.alloc(sizeof(*foo))/' \
-e 's/(\w+)\s*=\s*[kv].alloc\s*\(\s*sizeof\s*\(\s*struct\s+\w+\s*\)/foo = k.alloc(sizeof(struct foo))/' | \
sort | uniq -c | sort -rn | head -2
6123 foo = k.alloc(sizeof(*foo)),
3060 foo = k.alloc(sizeof(struct foo)),
> Unpleasant consequences are possible in both cases.
Yup.
> Probably each maintainer has a style they prefer. Perhaps it could be
> useful to adjust the code to follow the dominant strategy, in cases where
> there are a inconsistencies. For example
>
> if (...)
> x = foo1(sizeof(struct xtype));
> else
> x = foo2(sizeof(*x));
>
> might at least cause some unnecessary mental effort to process.
Sure, but perhaps _only_ when there are inconsistencies
in the same compilation unit.'
next prev parent reply other threads:[~2017-10-18 10:28 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-16 17:30 [PATCH 0/4] char-TPM: Adjustments for ten function implementations SF Markus Elfring
2017-10-16 17:31 ` [PATCH 1/4] char/tpm: Delete an error message for a failed memory allocation in tpm_ascii_bios_measurements_show() SF Markus Elfring
2017-10-16 17:32 ` [PATCH 2/4] char/tpm: Delete an error message for a failed memory allocation in tpm_ibmvtpm_probe() SF Markus Elfring
2017-10-16 17:33 ` [PATCH 3/4] char/tpm: Improve a size determination in nine functions SF Markus Elfring
2017-10-17 11:03 ` Andy Shevchenko
2017-10-17 11:50 ` Alexander.Steffen
2017-10-17 12:52 ` Mimi Zohar
2017-10-17 12:58 ` Julia Lawall
2017-10-17 15:17 ` Mimi Zohar
2017-10-17 15:29 ` Julia Lawall
2017-10-18 9:16 ` Alexander.Steffen
2017-10-17 18:41 ` SF Markus Elfring
2017-10-17 19:28 ` Mimi Zohar
2017-10-17 20:04 ` SF Markus Elfring
2017-10-17 19:36 ` Andy Shevchenko
2017-10-17 20:24 ` SF Markus Elfring
2017-10-18 14:57 ` Jarkko Sakkinen
2017-10-18 15:22 ` SF Markus Elfring
2017-10-18 15:59 ` Jarkko Sakkinen
2017-10-18 16:43 ` SF Markus Elfring
2017-10-18 17:18 ` Jarkko Sakkinen
2017-10-18 17:22 ` Jarkko Sakkinen
2017-10-18 17:54 ` SF Markus Elfring
2017-10-18 17:48 ` SF Markus Elfring
2017-10-18 17:54 ` Jerry Snitselaar
2017-10-18 18:11 ` char/tpm: Delete an error message for a failed memory allocation in tpm_…() SF Markus Elfring
2017-10-18 18:03 ` char/tpm: Improve a size determination in nine functions Andy Shevchenko
2017-10-19 12:04 ` Michal Suchánek
2017-10-19 12:16 ` Jarkko Sakkinen
2017-10-17 13:02 ` [PATCH 3/4] " Andy Shevchenko
2017-10-18 14:52 ` Jarkko Sakkinen
2017-10-17 15:22 ` Alexander.Steffen
2017-10-18 14:48 ` Jarkko Sakkinen
2017-10-19 16:58 ` Alexander.Steffen
2017-10-20 9:01 ` Jarkko Sakkinen
2017-10-20 10:23 ` Jarkko Sakkinen
2017-10-20 12:03 ` Alexander.Steffen
2017-10-23 13:20 ` Dan Carpenter
2017-10-18 14:40 ` Jarkko Sakkinen
2017-10-16 17:34 ` [PATCH 4/4] char/tpm: Less checks in tpm_ibmvtpm_probe() after error detection SF Markus Elfring
2017-10-19 11:56 ` Michal Suchánek
2017-10-19 12:36 ` SF Markus Elfring
2017-10-19 12:46 ` Michal Suchánek
2017-10-19 14:26 ` Dan Carpenter
2017-10-19 13:36 ` Dan Carpenter
2017-10-19 14:16 ` Michal Suchánek
2017-10-19 14:59 ` Dan Carpenter
2017-10-19 20:44 ` SF Markus Elfring
2017-10-16 18:31 ` [PATCH 0/4] char-TPM: Adjustments for ten function implementations Jarkko Sakkinen
2017-10-16 18:35 ` Jarkko Sakkinen
2017-10-16 20:44 ` SF Markus Elfring
2017-10-18 15:04 ` Jarkko Sakkinen
2017-10-18 15:43 ` SF Markus Elfring
2017-10-16 22:46 ` [PATCH 0/4] " Joe Perches
2017-10-17 7:20 ` SF Markus Elfring
2017-10-17 8:51 ` Dan Carpenter
2017-10-17 8:56 ` Julia Lawall
2017-10-17 9:44 ` Dan Carpenter
2017-10-17 10:11 ` Julia Lawall
2017-10-17 11:52 ` Mimi Zohar
2017-10-18 3:18 ` Michael Ellerman
2017-10-19 13:16 ` Mimi Zohar
2017-10-19 16:08 ` Circumstances for using the tag “Fixes” (or not) SF Markus Elfring
2017-10-17 12:26 ` [PATCH 0/4] char-TPM: Adjustments for ten function implementations Michael Ellerman
2017-10-18 15:07 ` Jarkko Sakkinen
2017-10-17 9:25 ` SF Markus Elfring
2017-10-17 15:57 ` James Bottomley
2017-10-17 16:32 ` SF Markus Elfring
2017-10-17 22:43 ` Joe Perches
2017-10-18 9:00 ` SF Markus Elfring
2017-10-18 9:18 ` Joe Perches
2017-10-18 9:50 ` Alexander.Steffen
2017-10-18 10:00 ` Julia Lawall
2017-10-18 10:28 ` Joe Perches [this message]
2017-10-18 11:00 ` Adjusting further size determinations? SF Markus Elfring
2017-10-18 11:49 ` Joe Perches
2017-10-18 12:07 ` SF Markus Elfring
2017-10-18 12:58 ` David Laight
2017-10-18 13:32 ` Julia Lawall
2017-10-18 13:50 ` SF Markus Elfring
2017-10-18 10:44 ` char-TPM: Adjustments for ten function implementations Alexander.Steffen
2017-10-18 10:49 ` Joe Perches
2017-10-18 11:07 ` Alexander.Steffen
2017-10-18 9:55 ` SF Markus Elfring
2017-10-18 18:27 ` Michal Suchánek
2017-10-18 15:10 ` [PATCH 0/4] " Jarkko Sakkinen
2017-10-18 16:09 ` James Bottomley
2017-10-18 17:13 ` Jarkko Sakkinen
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=1508322510.6806.3.camel@perches.com \
--to=joe@perches$(echo .)com \
--cc=Alexander.Steffen@infineon$(echo .)com \
--cc=James.Bottomley@HansenPartnership$(echo .)comg \
--cc=PeterHuewe@gmx$(echo .)de \
--cc=andriy.shevchenko@linux$(echo .)intel.com \
--cc=benh@kernel$(echo .)crashing.org \
--cc=clabbe.montjoie@gmail$(echo .)com \
--cc=dan.carpenter@oracle$(echo .)com \
--cc=elfring@users$(echo .)sourceforge.net \
--cc=jarkko.sakkinen@linux$(echo .)intel.com \
--cc=jgunthorpe@obsidianresearch$(echo .)com \
--cc=jsnitsel@redhat$(echo .)com \
--cc=julia.lawall@lip6$(echo .)fr \
--cc=kernel-janitors@vger$(echo .)kernel.org \
--cc=kgold@linux$(echo .)vnet.ibm.com \
--cc=linux-integrity@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=mpe@ellerman$(echo .)id.au \
--cc=nayna@linux$(echo .)vnet.ibm.com \
--cc=paulus@samba$(echo .)org \
--cc=stefanb@linux$(echo .)vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox