lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <Y+5KRT0FYiI3t25n@t14s.localdomain> Date: Thu, 16 Feb 2023 07:22:45 -0800 From: Marcelo Ricardo Leitner <marcelo.leitner@...il.com> To: Xin Long <lucien.xin@...il.com> Cc: network dev <netdev@...r.kernel.org>, linux-sctp@...r.kernel.org, davem@...emloft.net, kuba@...nel.org, Eric Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Neil Horman <nhorman@...driver.com>, Zhengchao Shao <shaozhengchao@...wei.com> Subject: Re: [PATCH net] sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop On Wed, Feb 15, 2023 at 03:04:44PM -0500, Xin Long wrote: > With this refcnt added in sctp_stream_priorities, we don't need to > traverse all streams to check if the prio is used by other streams > when freeing one stream's prio in sctp_sched_prio_free_sid(). This > can avoid a nested loop (up to 65535 * 65535), which may cause a > stuck as Ying reported: > > watchdog: BUG: soft lockup - CPU#23 stuck for 26s! [ksoftirqd/23:136] > Call Trace: > <TASK> > sctp_sched_prio_free_sid+0xab/0x100 [sctp] > sctp_stream_free_ext+0x64/0xa0 [sctp] > sctp_stream_free+0x31/0x50 [sctp] > sctp_association_free+0xa5/0x200 [sctp] > > Note that it doesn't need to use refcount_t type for this counter, > as its accessing is always protected under the sock lock. > > Fixes: 9ed7bfc79542 ("sctp: fix memory leak in sctp_stream_outq_migrate()") > Reported-by: Ying Xu <yinxu@...hat.com> > Signed-off-by: Xin Long <lucien.xin@...il.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
Powered by blists - more mailing lists