Re: tip -ENOBOOT - bisected to locking/refcounts, x86/asm: Implement fast refcount overflow protection

From: Kees Cook
Date: Wed Aug 30 2017 - 13:32:15 EST


On Wed, Aug 30, 2017 at 10:13 AM, Mike Galbraith <efault@xxxxxx> wrote:
> On Wed, 2017-08-30 at 09:35 -0700, Kees Cook wrote:
>> On Tue, Aug 29, 2017 at 10:02 PM, Mike Galbraith <efault@xxxxxx> wrote:
>> > On Tue, 2017-08-29 at 11:41 -0700, Kees Cook wrote:
>> >> Can you also test with 14afee4b6092 ("net: convert sock.sk_wmem_alloc
>> >> from atomic_t to refcount_t") reverted (instead of ARCH_HAS_REFCOUNT
>> >> disabled)?
>> >
>> > Nogo.
>>
>> Thanks for checking!
>>
>> > [ 44.901930] WARNING: CPU: 5 PID: 0 at net/netlink/af_netlink.c:374 netlink_sock_destruct+0x82/0xa0
>>
>> This is so odd if 14afee4b6092 is reverted. What is line 374 for you
>> in net/netlink/af_netlink.c?
>
> 374 WARN_ON(atomic_read(&sk->sk_rmem_alloc));
>
> That line is unchanged by 14afee4b6092.

Uuuuhmm. Wow, now I'm really baffled. I thought you were getting the
warn from the next line with the refcount usage... I will keep
digging. Thanks!

-Kees

--
Kees Cook
Pixel Security