[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <9D8B1F5B-8EFE-40CB-BC85-F6EC3483CC61@holtmann.org>
Date: Fri, 22 Oct 2021 06:48:47 +0200
From: Marcel Holtmann <marcel@...tmann.org>
To: Wang Hai <wanghai38@...wei.com>
Cc: Karsten Keil <isdn@...ux-pingi.de>,
Johan Hedberg <johan.hedberg@...il.com>,
Luiz Augusto von Dentz <luiz.dentz@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Thadeu Lima de Souza Cascardo <cascardo@...onical.com>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>,
linux-bluetooth@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Bluetooth: cmtp: fix possible panic when
cmtp_init_sockets() fails
Hi Wang,
> I got a kernel BUG report when doing fault injection test:
>
> ------------[ cut here ]------------
> kernel BUG at lib/list_debug.c:45!
> ...
> RIP: 0010:__list_del_entry_valid.cold+0x12/0x4d
> ...
> Call Trace:
> proto_unregister+0x83/0x220
> cmtp_cleanup_sockets+0x37/0x40 [cmtp]
> cmtp_exit+0xe/0x1f [cmtp]
> do_syscall_64+0x35/0xb0
> entry_SYSCALL_64_after_hwframe+0x44/0xae
>
> If cmtp_init_sockets() in cmtp_init() fails, cmtp_init() still returns
> success. This will cause a kernel bug when accessing uncreated ctmp
> related data when the module exits.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Reported-by: Hulk Robot <hulkci@...wei.com>
> Signed-off-by: Wang Hai <wanghai38@...wei.com>
> ---
> net/bluetooth/cmtp/core.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/net/bluetooth/cmtp/core.c b/net/bluetooth/cmtp/core.c
> index 0a2d78e811cf..ccf48f50afdf 100644
> --- a/net/bluetooth/cmtp/core.c
> +++ b/net/bluetooth/cmtp/core.c
> @@ -499,11 +499,13 @@ int cmtp_get_conninfo(struct cmtp_conninfo *ci)
>
> static int __init cmtp_init(void)
> {
> + int err;
> +
> BT_INFO("CMTP (CAPI Emulation) ver %s", VERSION);
>
> - cmtp_init_sockets();
> + err = cmtp_init_sockets();
>
> - return 0;
> + return err;
> }
just do return cmtp_init_sockets();
Regards
Marcel
Powered by blists - more mailing lists