[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170816.142714.1364386866278233165.davem@davemloft.net>
Date: Wed, 16 Aug 2017 14:27:14 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, gerrit@....abdn.ac.uk
Subject: Re: [PATCH net] dccp: defer ccid_hc_tx_delete() at dismantle time
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Wed, 16 Aug 2017 07:03:15 -0700
> From: Eric Dumazet <edumazet@...gle.com>
>
> syszkaller team reported another problem in DCCP [1]
>
> Problem here is that the structure holding RTO timer
> (ccid2_hc_tx_rto_expire() handler) is freed too soon.
>
> We can not use del_timer_sync() to cancel the timer
> since this timer wants to grab socket lock (that would risk a dead lock)
>
> Solution is to defer the freeing of memory when all references to
> the socket were released. Socket timers do own a reference, so this
> should fix the issue.
>
> [1]
> ==================================================================
> BUG: KASAN: use-after-free in ccid2_hc_tx_rto_expire+0x51c/0x5c0 net/dccp/ccids/ccid2.c:144
...
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Reported-by: Dmitry Vyukov <dvyukov@...gle.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists