2020-07-22 13:49:25

by Tom Rix

[permalink] [raw]
Subject: [PATCH v2] KEYS: remove redundant memset

From: Tom Rix <[email protected]>

Reviewing use of memset in keyctrl_pkey.c

keyctl_pkey_params_get prologue code to set params up

memset(params, 0, sizeof(*params));
params->encoding = "raw";

keyctl_pkey_query has the same prologue
and calls keyctl_pkey_params_get.

So remove the prologue.

Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")

Signed-off-by: Tom Rix <[email protected]>
---
v1: remove change to keyctl_pkey_params_get_2

security/keys/keyctl_pkey.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/security/keys/keyctl_pkey.c b/security/keys/keyctl_pkey.c
index 931d8dfb4a7f..5de0d599a274 100644
--- a/security/keys/keyctl_pkey.c
+++ b/security/keys/keyctl_pkey.c
@@ -166,8 +166,6 @@ long keyctl_pkey_query(key_serial_t id,
struct kernel_pkey_query res;
long ret;

- memset(&params, 0, sizeof(params));
-
ret = keyctl_pkey_params_get(id, _info, &params);
if (ret < 0)
goto error;
--
2.18.1


2020-07-22 20:05:14

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v2] KEYS: remove redundant memset

On Wed, 2020-07-22 at 06:46 -0700, [email protected] wrote:
> From: Tom Rix <[email protected]>
>
> Reviewing use of memset in keyctrl_pkey.c
>
> keyctl_pkey_params_get prologue code to set params up
>
> memset(params, 0, sizeof(*params));
> params->encoding = "raw";
>
> keyctl_pkey_query has the same prologue
> and calls keyctl_pkey_params_get.
>
> So remove the prologue.
>
> Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")

At best, this is a micro optimization.

How is this appropriate for a Fixes: line?

> diff --git a/security/keys/keyctl_pkey.c b/security/keys/keyctl_pkey.c
[]
> @@ -166,8 +166,6 @@ long keyctl_pkey_query(key_serial_t id,
> struct kernel_pkey_query res;
> long ret;
>
> - memset(&params, 0, sizeof(params));
> -
> ret = keyctl_pkey_params_get(id, _info, &params);
> if (ret < 0)
> goto error;

2020-07-22 20:11:36

by Tom Rix

[permalink] [raw]
Subject: Re: [PATCH v2] KEYS: remove redundant memset


On 7/22/20 1:02 PM, Joe Perches wrote:
> On Wed, 2020-07-22 at 06:46 -0700, [email protected] wrote:
>> From: Tom Rix <[email protected]>
>>
>> Reviewing use of memset in keyctrl_pkey.c
>>
>> keyctl_pkey_params_get prologue code to set params up
>>
>> memset(params, 0, sizeof(*params));
>> params->encoding = "raw";
>>
>> keyctl_pkey_query has the same prologue
>> and calls keyctl_pkey_params_get.
>>
>> So remove the prologue.
>>
>> Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
> At best, this is a micro optimization.
Yes
> How is this appropriate for a Fixes: line?
Removing unneeded code is not a fix?
>
>> diff --git a/security/keys/keyctl_pkey.c b/security/keys/keyctl_pkey.c
> []
>> @@ -166,8 +166,6 @@ long keyctl_pkey_query(key_serial_t id,
>> struct kernel_pkey_query res;
>> long ret;
>>
>> - memset(&params, 0, sizeof(params));
>> -
>> ret = keyctl_pkey_params_get(id, _info, &params);
>> if (ret < 0)
>> goto error;

2020-07-22 20:20:41

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v2] KEYS: remove redundant memset

On Wed, 2020-07-22 at 13:10 -0700, Tom Rix wrote:
> On 7/22/20 1:02 PM, Joe Perches wrote:
> > On Wed, 2020-07-22 at 06:46 -0700, [email protected] wrote:
> > > From: Tom Rix <[email protected]>
> > >
> > > Reviewing use of memset in keyctrl_pkey.c
> > >
> > > keyctl_pkey_params_get prologue code to set params up
> > >
> > > memset(params, 0, sizeof(*params));
> > > params->encoding = "raw";
> > >
> > > keyctl_pkey_query has the same prologue
> > > and calls keyctl_pkey_params_get.
> > >
> > > So remove the prologue.
> > >
> > > Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
> > At best, this is a micro optimization.
> Yes
> > How is this appropriate for a Fixes: line?
> Removing unneeded code is not a fix?

IMO: there's no "bug" here.

It's not a logic defect causing some unintended outcome.
It doesn't need backporting to stable branches.

Documentation/process/submitting-patches.rst-If your patch fixes a bug in a specific commit, e.g. you found an issue using
Documentation/process/submitting-patches.rst:``git bisect``, please use the 'Fixes:' tag with the first 12 characters of
Documentation/process/submitting-patches.rst-the SHA-1 ID, and the one line summary.



2020-07-23 02:41:35

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH v2] KEYS: remove redundant memset

On Wed, Jul 22, 2020 at 01:20:00PM -0700, Joe Perches wrote:
> On Wed, 2020-07-22 at 13:10 -0700, Tom Rix wrote:
> > On 7/22/20 1:02 PM, Joe Perches wrote:
> > > On Wed, 2020-07-22 at 06:46 -0700, [email protected] wrote:
> > > > From: Tom Rix <[email protected]>
> > > >
> > > > Reviewing use of memset in keyctrl_pkey.c
> > > >
> > > > keyctl_pkey_params_get prologue code to set params up
> > > >
> > > > memset(params, 0, sizeof(*params));
> > > > params->encoding = "raw";
> > > >
> > > > keyctl_pkey_query has the same prologue
> > > > and calls keyctl_pkey_params_get.
> > > >
> > > > So remove the prologue.
> > > >
> > > > Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
> > > At best, this is a micro optimization.
> > Yes
> > > How is this appropriate for a Fixes: line?
> > Removing unneeded code is not a fix?
>
> IMO: there's no "bug" here.
>
> It's not a logic defect causing some unintended outcome.
> It doesn't need backporting to stable branches.
>
> Documentation/process/submitting-patches.rst-If your patch fixes a bug in a specific commit, e.g. you found an issue using
> Documentation/process/submitting-patches.rst:``git bisect``, please use the 'Fixes:' tag with the first 12 characters of
> Documentation/process/submitting-patches.rst-the SHA-1 ID, and the one line summary.

I agree.

At worst it can cause unnecessary merge conflicts when backporting
bug fixes.

No measurable gain merging it.

/Jarkko