[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iKMuPaa=Pkrjv-fA4o8aCzF=_haFTdZ4bXsyyrzbFqqhw@mail.gmail.com>
Date: Thu, 12 Jun 2025 23:44:44 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Haixia Qu <hxqu@...lstonenet.com>
Cc: Jon Maloy <jmaloy@...hat.com>, "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
netdev@...r.kernel.org, tipc-discussion@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] tipc: fix panic in tipc_udp_nl_dump_remoteip() using
bearer as udp without check
On Thu, Jun 12, 2025 at 10:55 PM Haixia Qu <hxqu@...lstonenet.com> wrote:
>
> When TIPC_NL_UDP_GET_REMOTEIP cmd calls tipc_udp_nl_dump_remoteip()
> with media name set to a l2 name, kernel panics [1].
>
> The reproduction steps:
> 1. create a tun interface
> 2. enable l2 bearer
> 3. TIPC_NL_UDP_GET_REMOTEIP with media name set to tun
>
> the ub was in fact a struct dev.
>
> when bid != 0 && skip_cnt != 0, bearer_list[bid] may be NULL or
> other media when other thread changes it.
>
> fix this by checking media_id.
>
> [1]
> tipc: Started in network mode
> tipc: Node identity 8af312d38a21, cluster identity 4711
> tipc: Enabled bearer <eth:syz_tun>, priority 1
> Oops: general protection fault
> KASAN: null-ptr-deref in range
> CPU: 1 UID: 1000 PID: 559 Comm: poc Not tainted 6.16.0-rc1+ #117 PREEMPT
> Hardware name: QEMU Ubuntu 24.04 PC
> RIP: 0010:tipc_udp_nl_dump_remoteip+0x4a4/0x8f0
>
> Signed-off-by: Haixia Qu <hxqu@...lstonenet.com>
Please add a FIxes: tag, as instructed in
Documentation/process/maintainer-netdev.rst
Thank you.
Powered by blists - more mailing lists