netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] two fixes for mISDN
@ 2022-10-31 12:13 Yang Yingliang
  2022-10-31 12:13 ` [PATCH 1/2] mISDN: fix possible memory leak in mISDN_register_device() Yang Yingliang
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Yang Yingliang @ 2022-10-31 12:13 UTC (permalink / raw)
  To: netdev; +Cc: isdn, davem

This patchset fixes two issues when device_add() returns error.

Yang Yingliang (2):
  mISDN: fix possible memory leak in mISDN_register_device()
  isdn: mISDN: netjet: fix wrong check of device registration

 drivers/isdn/hardware/mISDN/netjet.c | 2 +-
 drivers/isdn/mISDN/core.c            | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] mISDN: fix possible memory leak in mISDN_register_device()
  2022-10-31 12:13 [PATCH 0/2] two fixes for mISDN Yang Yingliang
@ 2022-10-31 12:13 ` Yang Yingliang
  2022-10-31 12:13 ` [PATCH 2/2] isdn: mISDN: netjet: fix wrong check of device registration Yang Yingliang
  2022-11-02 12:40 ` [PATCH 0/2] two fixes for mISDN patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Yang Yingliang @ 2022-10-31 12:13 UTC (permalink / raw)
  To: netdev; +Cc: isdn, davem

Afer commit 1fa5ae857bb1 ("driver core: get rid of struct device's
bus_id string array"), the name of device is allocated dynamically,
add put_device() to give up the reference, so that the name can be
freed in kobject_cleanup() when the refcount is 0.

Set device class before put_device() to avoid null release() function
WARN message in device_release().

Fixes: 1fa5ae857bb1 ("driver core: get rid of struct device's bus_id string array")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/isdn/mISDN/core.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c
index a41b4b264594..7ea0100f218a 100644
--- a/drivers/isdn/mISDN/core.c
+++ b/drivers/isdn/mISDN/core.c
@@ -233,11 +233,12 @@ mISDN_register_device(struct mISDNdevice *dev,
 	if (debug & DEBUG_CORE)
 		printk(KERN_DEBUG "mISDN_register %s %d\n",
 		       dev_name(&dev->dev), dev->id);
+	dev->dev.class = &mISDN_class;
+
 	err = create_stack(dev);
 	if (err)
 		goto error1;
 
-	dev->dev.class = &mISDN_class;
 	dev->dev.platform_data = dev;
 	dev->dev.parent = parent;
 	dev_set_drvdata(&dev->dev, dev);
@@ -249,8 +250,8 @@ mISDN_register_device(struct mISDNdevice *dev,
 
 error3:
 	delete_stack(dev);
-	return err;
 error1:
+	put_device(&dev->dev);
 	return err;
 
 }
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] isdn: mISDN: netjet: fix wrong check of device registration
  2022-10-31 12:13 [PATCH 0/2] two fixes for mISDN Yang Yingliang
  2022-10-31 12:13 ` [PATCH 1/2] mISDN: fix possible memory leak in mISDN_register_device() Yang Yingliang
@ 2022-10-31 12:13 ` Yang Yingliang
  2022-11-02 12:40 ` [PATCH 0/2] two fixes for mISDN patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Yang Yingliang @ 2022-10-31 12:13 UTC (permalink / raw)
  To: netdev; +Cc: isdn, davem

The class is set in mISDN_register_device(), but if device_add() returns
error, it will lead to delete a device without added, fix this by using
device_is_registered() to check if the device is registered.

Fixes: a900845e5661 ("mISDN: Add support for Traverse Technologies NETJet PCI cards")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/isdn/hardware/mISDN/netjet.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/isdn/hardware/mISDN/netjet.c b/drivers/isdn/hardware/mISDN/netjet.c
index a52f275f8263..f8447135a902 100644
--- a/drivers/isdn/hardware/mISDN/netjet.c
+++ b/drivers/isdn/hardware/mISDN/netjet.c
@@ -956,7 +956,7 @@ nj_release(struct tiger_hw *card)
 	}
 	if (card->irq > 0)
 		free_irq(card->irq, card);
-	if (card->isac.dch.dev.dev.class)
+	if (device_is_registered(&card->isac.dch.dev.dev))
 		mISDN_unregister_device(&card->isac.dch.dev);
 
 	for (i = 0; i < 2; i++) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] two fixes for mISDN
  2022-10-31 12:13 [PATCH 0/2] two fixes for mISDN Yang Yingliang
  2022-10-31 12:13 ` [PATCH 1/2] mISDN: fix possible memory leak in mISDN_register_device() Yang Yingliang
  2022-10-31 12:13 ` [PATCH 2/2] isdn: mISDN: netjet: fix wrong check of device registration Yang Yingliang
@ 2022-11-02 12:40 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-11-02 12:40 UTC (permalink / raw)
  To: Yang Yingliang; +Cc: netdev, isdn, davem

Hello:

This series was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Mon, 31 Oct 2022 20:13:39 +0800 you wrote:
> This patchset fixes two issues when device_add() returns error.
> 
> Yang Yingliang (2):
>   mISDN: fix possible memory leak in mISDN_register_device()
>   isdn: mISDN: netjet: fix wrong check of device registration
> 
>  drivers/isdn/hardware/mISDN/netjet.c | 2 +-
>  drivers/isdn/mISDN/core.c            | 5 +++--
>  2 files changed, 4 insertions(+), 3 deletions(-)

Here is the summary with links:
  - [1/2] mISDN: fix possible memory leak in mISDN_register_device()
    https://git.kernel.org/netdev/net/c/e7d1d4d9ac0d
  - [2/2] isdn: mISDN: netjet: fix wrong check of device registration
    https://git.kernel.org/netdev/net/c/bf00f5426074

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-11-02 12:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-31 12:13 [PATCH 0/2] two fixes for mISDN Yang Yingliang
2022-10-31 12:13 ` [PATCH 1/2] mISDN: fix possible memory leak in mISDN_register_device() Yang Yingliang
2022-10-31 12:13 ` [PATCH 2/2] isdn: mISDN: netjet: fix wrong check of device registration Yang Yingliang
2022-11-02 12:40 ` [PATCH 0/2] two fixes for mISDN patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).