Re: [PATCH] usb: typec: ucsi: Fix NULL pointer dereference

From: Greg Kroah-Hartman
Date: Wed Sep 06 2023 - 04:57:14 EST


On Wed, Sep 06, 2023 at 11:48:42AM +0300, Heikki Krogerus wrote:
> Making sure the UCSI debugfs entry actually exists before
> attempting to remove it.
>
> Fixes: df0383ffad64 ("usb: typec: ucsi: Add debugfs for ucsi commands")
> Reported-by: Dave Hansen <dave.hansen@xxxxxxxxx>
> Closes: https://lore.kernel.org/linux-usb/700df3c4-2f6c-85f9-6c61-065bc5b2db3a@xxxxxxxxx/
> Suggested-by: Dave Hansen <dave.hansen@xxxxxxxxx>
> Suggested-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> Cc: Saranya Gopal <saranya.gopal@xxxxxxxxx>
> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> ---
> drivers/usb/typec/ucsi/debugfs.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/typec/ucsi/debugfs.c b/drivers/usb/typec/ucsi/debugfs.c
> index 0c7bf88d4a7f..f67733cecfdf 100644
> --- a/drivers/usb/typec/ucsi/debugfs.c
> +++ b/drivers/usb/typec/ucsi/debugfs.c
> @@ -84,6 +84,9 @@ void ucsi_debugfs_register(struct ucsi *ucsi)
>
> void ucsi_debugfs_unregister(struct ucsi *ucsi)
> {
> + if (IS_ERR_OR_NULL(ucsi) || !ucsi->debugfs)
> + return;
> +
> debugfs_remove_recursive(ucsi->debugfs->dentry);

Why are you saving the dentry at all? Why not just have debugfs look it
up when you want to remove it based on the filename?

Anyway, not a big deal here, just a comment. I'll queue this up after
-rc1 is out.

thanks,

greg k-h