From 5cdc03c5cf471a215c57e540cc86be613c0ba457 Mon Sep 17 00:00:00 2001 From: Longlong Xia Date: Thu, 2 Feb 2023 03:32:01 +0000 Subject: devtmpfs: convert to pr_fmt Use the pr_fmt() macro to prefix all the output with "devtmpfs: ". while at it, convert printk() to pr_(). Signed-off-by: Longlong Xia Link: https://lore.kernel.org/r/20230202033203.1239239-2-xialonglong1@huawei.com Signed-off-by: Greg Kroah-Hartman --- drivers/base/devtmpfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'drivers/base/devtmpfs.c') diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index e4bffeabf344..95ebc18ded50 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -13,6 +13,8 @@ * overwrite the default setting if needed. */ +#define pr_fmt(fmt) "devtmpfs: " fmt + #include #include #include @@ -376,9 +378,9 @@ int __init devtmpfs_mount(void) err = init_mount("devtmpfs", "dev", "devtmpfs", DEVTMPFS_MFLAGS, NULL); if (err) - printk(KERN_INFO "devtmpfs: error mounting %i\n", err); + pr_info("error mounting %d\n", err); else - printk(KERN_INFO "devtmpfs: mounted\n"); + pr_info("mounted\n"); return err; } @@ -460,14 +462,12 @@ int __init devtmpfs_init(void) mnt = vfs_kern_mount(&internal_fs_type, 0, "devtmpfs", opts); if (IS_ERR(mnt)) { - printk(KERN_ERR "devtmpfs: unable to create devtmpfs %ld\n", - PTR_ERR(mnt)); + pr_err("unable to create devtmpfs %ld\n", PTR_ERR(mnt)); return PTR_ERR(mnt); } err = register_filesystem(&dev_fs_type); if (err) { - printk(KERN_ERR "devtmpfs: unable to register devtmpfs " - "type %i\n", err); + pr_err("unable to register devtmpfs type %d\n", err); return err; } @@ -480,12 +480,12 @@ int __init devtmpfs_init(void) } if (err) { - printk(KERN_ERR "devtmpfs: unable to create devtmpfs %i\n", err); + pr_err("unable to create devtmpfs %d\n", err); unregister_filesystem(&dev_fs_type); thread = NULL; return err; } - printk(KERN_INFO "devtmpfs: initialized\n"); + pr_info("initialized\n"); return 0; } -- cgit v1.2.3 From 90a9d5ff225267b3376f73c19f21174e3b6d7746 Mon Sep 17 00:00:00 2001 From: Longlong Xia Date: Fri, 10 Feb 2023 09:54:43 +0000 Subject: devtmpfs: add debug info to handle() Because handle() is the core function for processing devtmpfs requests, Let's add some debug info in handle() to help users know why failed. Signed-off-by: Longlong Xia Link: https://lore.kernel.org/r/20230210095444.4067307-3-xialonglong1@huawei.com Signed-off-by: Greg Kroah-Hartman --- drivers/base/devtmpfs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'drivers/base/devtmpfs.c') diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index 95ebc18ded50..f273bccd5494 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -389,10 +389,18 @@ static __initdata DECLARE_COMPLETION(setup_done); static int handle(const char *name, umode_t mode, kuid_t uid, kgid_t gid, struct device *dev) { + int ret; + if (mode) - return handle_create(name, mode, uid, gid, dev); + ret = handle_create(name, mode, uid, gid, dev); else - return handle_remove(name, dev); + ret = handle_remove(name, dev); + + if (ret) + dev_err(dev, "failed to %s %s, ret = %d\n", + mode ? "create" : "remove", name, ret); + + return ret; } static void __noreturn devtmpfs_work_loop(void) -- cgit v1.2.3 From 9d3fe6aa6b9517408064c7c3134187e8ec77dbf7 Mon Sep 17 00:00:00 2001 From: Longlong Xia Date: Fri, 10 Feb 2023 09:54:44 +0000 Subject: devtmpfs: remove return value of devtmpfs_delete_node() The only caller of device_del() does not check the return value. And there's nothing we can do when cleaning things up on a remove path. Let's make it a void function. Signed-off-by: Longlong Xia Link: https://lore.kernel.org/r/20230210095444.4067307-4-xialonglong1@huawei.com Signed-off-by: Greg Kroah-Hartman --- drivers/base/base.h | 4 ++-- drivers/base/devtmpfs.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'drivers/base/devtmpfs.c') diff --git a/drivers/base/base.h b/drivers/base/base.h index 726a12a244c0..80cdf3fcb458 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -215,10 +215,10 @@ void device_pm_move_to_tail(struct device *dev); #ifdef CONFIG_DEVTMPFS int devtmpfs_create_node(struct device *dev); -int devtmpfs_delete_node(struct device *dev); +void devtmpfs_delete_node(struct device *dev); #else static inline int devtmpfs_create_node(struct device *dev) { return 0; } -static inline int devtmpfs_delete_node(struct device *dev) { return 0; } +static inline void devtmpfs_delete_node(struct device *dev) { } #endif void software_node_notify(struct device *dev); diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index f273bccd5494..a3a2657b9587 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -147,22 +147,22 @@ int devtmpfs_create_node(struct device *dev) return devtmpfs_submit_req(&req, tmp); } -int devtmpfs_delete_node(struct device *dev) +void devtmpfs_delete_node(struct device *dev) { const char *tmp = NULL; struct req req; if (!thread) - return 0; + return; req.name = device_get_devnode(dev, NULL, NULL, NULL, &tmp); if (!req.name) - return -ENOMEM; + return; req.mode = 0; req.dev = dev; - return devtmpfs_submit_req(&req, tmp); + devtmpfs_submit_req(&req, tmp); } static int dev_mkdir(const char *name, umode_t mode) -- cgit v1.2.3 From d3583f06782cae72374464f9c29b2056fa0bd012 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 14 Feb 2023 08:59:13 +0100 Subject: Revert "devtmpfs: remove return value of devtmpfs_delete_node()" This reverts commit 9d3fe6aa6b9517408064c7c3134187e8ec77dbf7 as it is reported to cause boot regressions. Link: https://lore.kernel.org/r/Y+rSXg14z1Myd8Px@dev-arch.thelio-3990X Reported-by: Nathan Chancellor Cc: Longlong Xia Signed-off-by: Greg Kroah-Hartman --- drivers/base/base.h | 4 ++-- drivers/base/devtmpfs.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'drivers/base/devtmpfs.c') diff --git a/drivers/base/base.h b/drivers/base/base.h index 80cdf3fcb458..726a12a244c0 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -215,10 +215,10 @@ void device_pm_move_to_tail(struct device *dev); #ifdef CONFIG_DEVTMPFS int devtmpfs_create_node(struct device *dev); -void devtmpfs_delete_node(struct device *dev); +int devtmpfs_delete_node(struct device *dev); #else static inline int devtmpfs_create_node(struct device *dev) { return 0; } -static inline void devtmpfs_delete_node(struct device *dev) { } +static inline int devtmpfs_delete_node(struct device *dev) { return 0; } #endif void software_node_notify(struct device *dev); diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index a3a2657b9587..f273bccd5494 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -147,22 +147,22 @@ int devtmpfs_create_node(struct device *dev) return devtmpfs_submit_req(&req, tmp); } -void devtmpfs_delete_node(struct device *dev) +int devtmpfs_delete_node(struct device *dev) { const char *tmp = NULL; struct req req; if (!thread) - return; + return 0; req.name = device_get_devnode(dev, NULL, NULL, NULL, &tmp); if (!req.name) - return; + return -ENOMEM; req.mode = 0; req.dev = dev; - devtmpfs_submit_req(&req, tmp); + return devtmpfs_submit_req(&req, tmp); } static int dev_mkdir(const char *name, umode_t mode) -- cgit v1.2.3 From 48c9899affd51f7acfc07a3f4d777b6eeb73a451 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 14 Feb 2023 08:59:22 +0100 Subject: Revert "devtmpfs: add debug info to handle()" This reverts commit 90a9d5ff225267b3376f73c19f21174e3b6d7746 as it is reported to cause boot regressions. Link: https://lore.kernel.org/r/Y+rSXg14z1Myd8Px@dev-arch.thelio-3990X Reported-by: Nathan Chancellor Cc: Longlong Xia Signed-off-by: Greg Kroah-Hartman --- drivers/base/devtmpfs.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'drivers/base/devtmpfs.c') diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index f273bccd5494..95ebc18ded50 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -389,18 +389,10 @@ static __initdata DECLARE_COMPLETION(setup_done); static int handle(const char *name, umode_t mode, kuid_t uid, kgid_t gid, struct device *dev) { - int ret; - if (mode) - ret = handle_create(name, mode, uid, gid, dev); + return handle_create(name, mode, uid, gid, dev); else - ret = handle_remove(name, dev); - - if (ret) - dev_err(dev, "failed to %s %s, ret = %d\n", - mode ? "create" : "remove", name, ret); - - return ret; + return handle_remove(name, dev); } static void __noreturn devtmpfs_work_loop(void) -- cgit v1.2.3