2023-12-19 15:31:18

by Markus Elfring

[permalink] [raw]
Subject: [PATCH 0/3] kobject: Adjustments for kobject_uevent_env()

From: Markus Elfring <[email protected]>
Date: Tue, 19 Dec 2023 16:22:33 +0100

A few update suggestions were taken into account
from source code analysis.

Markus Elfring (3):
Add a jump label
Improve a size determination
Delete an unnecessary variable initialisation

lib/kobject_uevent.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

--
2.43.0



2023-12-19 15:33:23

by Markus Elfring

[permalink] [raw]
Subject: [PATCH 1/3] kobject: Add a jump label in kobject_uevent_env()

From: Markus Elfring <[email protected]>
Date: Tue, 19 Dec 2023 14:16:35 +0100

Use another label so that a call of the function “kfree” can be avoided
after a failed call of the function “kobject_get_path”.

Signed-off-by: Markus Elfring <[email protected]>
---
lib/kobject_uevent.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index fb9a2f06dd1e..811e579ed89d 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -529,7 +529,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
devpath = kobject_get_path(kobj, GFP_KERNEL);
if (!devpath) {
retval = -ENOENT;
- goto exit;
+ goto free_env;
}

/* default keys */
@@ -623,6 +623,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,

exit:
kfree(devpath);
+free_env:
kfree(env);
return retval;
}
--
2.43.0


2023-12-19 15:36:40

by Markus Elfring

[permalink] [raw]
Subject: [PATCH 3/3] kobject: Delete an unnecessary variable initialisation in kobject_uevent_env()

From: Markus Elfring <[email protected]>
Date: Tue, 19 Dec 2023 16:03:39 +0100

The local variable “devpath” will eventually be set to an appropriate
pointer a bit later.
Thus omit the explicit initialisation at the beginning.

Signed-off-by: Markus Elfring <[email protected]>
---
lib/kobject_uevent.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index a9b1bc02f65c..1b7b42dc160c 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -459,7 +459,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
{
struct kobj_uevent_env *env;
const char *action_string = kobject_actions[action];
- const char *devpath = NULL;
+ const char *devpath;
const char *subsystem;
struct kobject *top_kobj;
struct kset *kset;
--
2.43.0


2023-12-19 15:40:30

by Markus Elfring

[permalink] [raw]
Subject: [PATCH 2/3] kobject: Improve a size determination in kobject_uevent_env()

From: Markus Elfring <[email protected]>
Date: Tue, 19 Dec 2023 16:00:22 +0100

Replace the specification of a data structure by a pointer dereference
as the parameter for the operator "sizeof" to make the corresponding size
determination a bit safer according to the Linux coding style convention.

Signed-off-by: Markus Elfring <[email protected]>
---
lib/kobject_uevent.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index 811e579ed89d..a9b1bc02f65c 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -521,7 +521,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
}

/* environment buffer */
- env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL);
+ env = kzalloc(sizeof(*env), GFP_KERNEL);
if (!env)
return -ENOMEM;

--
2.43.0


2023-12-19 15:40:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 2/3] kobject: Improve a size determination in kobject_uevent_env()

On Tue, Dec 19, 2023 at 04:34:19PM +0100, Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> Date: Tue, 19 Dec 2023 16:00:22 +0100
>
> Replace the specification of a data structure by a pointer dereference
> as the parameter for the operator "sizeof" to make the corresponding size
> determination a bit safer according to the Linux coding style convention.
>
> Signed-off-by: Markus Elfring <[email protected]>

Sorry, but for obvious reasons, I'm still not taking patches from you.

best of luck,

greg k-h