Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1317695 > unrolled thread

UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10

Started byChris Bainbridge <chris.bainbridge@gmail.com>
First post2016-01-26 11:20 +0100
Last post2016-01-26 12:10 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10 Chris Bainbridge <chris.bainbridge@gmail.com> - 2016-01-26 11:20 +0100
    Re: UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10 David Sterba <dsterba@suse.cz> - 2016-01-26 12:10 +0100
      Re: UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10 Chris Bainbridge <chris.bainbridge@gmail.com> - 2016-01-26 12:30 +0100
    Re: UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10 Holger Hoffstätte   <holger.hoffstaette@googlemail.com> - 2016-01-26 12:10 +0100

#1317695 — UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10

FromChris Bainbridge <chris.bainbridge@gmail.com>
Date2016-01-26 11:20 +0100
SubjectUBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10
Message-ID<qV8T9-2E6-21@gated-at.bofh.it>
Booting 4.5.0-rc1 with new UBSAN checker enabled:

[    3.859690] ================================================================================
[    3.859694] UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10
[    3.859696] signed integer overflow:
[    3.859697] 9223372036854775807 + 1 cannot be represented in type 'long long int'
[    3.859701] CPU: 3 PID: 3237 Comm: polkitd Not tainted 4.5.0-rc1 #252
[    3.859702] Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B0A.1509130955 09/13/2015
[    3.859706]  0000000000000000 0000000000000000 0000000000000001 ffff88024d4bfcf8
[    3.859709]  ffffffff81b2e7d9 0000000000000001 ffff88024d4bfd28 ffff88024d4bfd10
[    3.859711]  ffffffff81bcb87d ffffffff83aceb48 ffff88024d4bfd98 ffffffff81bcbc4d
[    3.859712] Call Trace:
[    3.859719]  [<ffffffff81b2e7d9>] dump_stack+0x45/0x6c
[    3.859723]  [<ffffffff81bcb87d>] ubsan_epilogue+0xd/0x40
[    3.859725]  [<ffffffff81bcbc4d>] handle_overflow+0xbd/0xe0
[    3.859728]  [<ffffffff81bcbc7e>] __ubsan_handle_add_overflow+0xe/0x10
[    3.859732]  [<ffffffff818c6271>] btrfs_real_readdir+0x881/0xc10
[    3.859737]  [<ffffffff8148b05d>] iterate_dir+0xdd/0x2d0
[    3.859740]  [<ffffffff8148bb0b>] SyS_getdents+0x9b/0x110
[    3.859743]  [<ffffffff8148b250>] ? iterate_dir+0x2d0/0x2d0
[    3.859747]  [<ffffffff82b40a57>] entry_SYSCALL_64_fastpath+0x12/0x6a
[    3.859749] ================================================================================

[toc] | [next] | [standalone]


#1317738

FromDavid Sterba <dsterba@suse.cz>
Date2016-01-26 12:10 +0100
Message-ID<qV9Fv-3em-1@gated-at.bofh.it>
In reply to#1317695
On Tue, Jan 26, 2016 at 10:13:33AM +0000, Chris Bainbridge wrote:
> Booting 4.5.0-rc1 with new UBSAN checker enabled:
> 
> [    3.859690] ================================================================================
> [    3.859694] UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10
> [    3.859696] signed integer overflow:
> [    3.859697] 9223372036854775807 + 1 cannot be represented in type 'long long int'
> [    3.859701] CPU: 3 PID: 3237 Comm: polkitd Not tainted 4.5.0-rc1 #252
> [    3.859702] Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B0A.1509130955 09/13/2015
> [    3.859706]  0000000000000000 0000000000000000 0000000000000001 ffff88024d4bfcf8
> [    3.859709]  ffffffff81b2e7d9 0000000000000001 ffff88024d4bfd28 ffff88024d4bfd10
> [    3.859711]  ffffffff81bcb87d ffffffff83aceb48 ffff88024d4bfd98 ffffffff81bcbc4d
> [    3.859712] Call Trace:
> [    3.859719]  [<ffffffff81b2e7d9>] dump_stack+0x45/0x6c
> [    3.859723]  [<ffffffff81bcb87d>] ubsan_epilogue+0xd/0x40
> [    3.859725]  [<ffffffff81bcbc4d>] handle_overflow+0xbd/0xe0
> [    3.859728]  [<ffffffff81bcbc7e>] __ubsan_handle_add_overflow+0xe/0x10
> [    3.859732]  [<ffffffff818c6271>] btrfs_real_readdir+0x881/0xc10
> [    3.859737]  [<ffffffff8148b05d>] iterate_dir+0xdd/0x2d0
> [    3.859740]  [<ffffffff8148bb0b>] SyS_getdents+0x9b/0x110
> [    3.859743]  [<ffffffff8148b250>] ? iterate_dir+0x2d0/0x2d0
> [    3.859747]  [<ffffffff82b40a57>] entry_SYSCALL_64_fastpath+0x12/0x6a
> [    3.859749] ================================================================================

That seems to be the same overflow as reported in the past, caught by
the PaX SIZE_OVERFLOW plugin. There's a patch but not merged yet.

https://patchwork.kernel.org/patch/7611351/

[toc] | [prev] | [next] | [standalone]


#1317763

FromChris Bainbridge <chris.bainbridge@gmail.com>
Date2016-01-26 12:30 +0100
Message-ID<qV9YS-3ml-1@gated-at.bofh.it>
In reply to#1317738
On Tue, Jan 26, 2016 at 12:03:39PM +0100, David Sterba wrote:
> On Tue, Jan 26, 2016 at 10:13:33AM +0000, Chris Bainbridge wrote:
> > Booting 4.5.0-rc1 with new UBSAN checker enabled:
> > 
> > [    3.859690] ================================================================================
> > [    3.859694] UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10
> > [    3.859696] signed integer overflow:
> > [    3.859697] 9223372036854775807 + 1 cannot be represented in type 'long long int'
> > [    3.859701] CPU: 3 PID: 3237 Comm: polkitd Not tainted 4.5.0-rc1 #252
> > [    3.859702] Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B0A.1509130955 09/13/2015
> > [    3.859706]  0000000000000000 0000000000000000 0000000000000001 ffff88024d4bfcf8
> > [    3.859709]  ffffffff81b2e7d9 0000000000000001 ffff88024d4bfd28 ffff88024d4bfd10
> > [    3.859711]  ffffffff81bcb87d ffffffff83aceb48 ffff88024d4bfd98 ffffffff81bcbc4d
> > [    3.859712] Call Trace:
> > [    3.859719]  [<ffffffff81b2e7d9>] dump_stack+0x45/0x6c
> > [    3.859723]  [<ffffffff81bcb87d>] ubsan_epilogue+0xd/0x40
> > [    3.859725]  [<ffffffff81bcbc4d>] handle_overflow+0xbd/0xe0
> > [    3.859728]  [<ffffffff81bcbc7e>] __ubsan_handle_add_overflow+0xe/0x10
> > [    3.859732]  [<ffffffff818c6271>] btrfs_real_readdir+0x881/0xc10
> > [    3.859737]  [<ffffffff8148b05d>] iterate_dir+0xdd/0x2d0
> > [    3.859740]  [<ffffffff8148bb0b>] SyS_getdents+0x9b/0x110
> > [    3.859743]  [<ffffffff8148b250>] ? iterate_dir+0x2d0/0x2d0
> > [    3.859747]  [<ffffffff82b40a57>] entry_SYSCALL_64_fastpath+0x12/0x6a
> > [    3.859749] ================================================================================
> 
> That seems to be the same overflow as reported in the past, caught by
> the PaX SIZE_OVERFLOW plugin. There's a patch but not merged yet.
> 
> https://patchwork.kernel.org/patch/7611351/

Yes, the error does not appear with that patch applied.

[toc] | [prev] | [next] | [standalone]


#1317744

FromHolger Hoffstätte <holger.hoffstaette@googlemail.com>
Date2016-01-26 12:10 +0100
Message-ID<qV9Fx-3em-29@gated-at.bofh.it>
In reply to#1317695
On 01/26/16 11:13, Chris Bainbridge wrote:
> Booting 4.5.0-rc1 with new UBSAN checker enabled:
> 
> [    3.859690] ================================================================================
> [    3.859694] UBSAN: Undefined behaviour in fs/btrfs/inode.c:5845:10
> [    3.859696] signed integer overflow:
> [    3.859697] 9223372036854775807 + 1 cannot be represented in type 'long long int'
> [    3.859701] CPU: 3 PID: 3237 Comm: polkitd Not tainted 4.5.0-rc1 #252
> [    3.859702] Hardware name: Apple Inc. MacBookPro10,2/Mac-AFD8A9D944EA4843, BIOS MBP102.88Z.0106.B0A.1509130955 09/13/2015
> [    3.859706]  0000000000000000 0000000000000000 0000000000000001 ffff88024d4bfcf8
> [    3.859709]  ffffffff81b2e7d9 0000000000000001 ffff88024d4bfd28 ffff88024d4bfd10
> [    3.859711]  ffffffff81bcb87d ffffffff83aceb48 ffff88024d4bfd98 ffffffff81bcbc4d
> [    3.859712] Call Trace:
> [    3.859719]  [<ffffffff81b2e7d9>] dump_stack+0x45/0x6c
> [    3.859723]  [<ffffffff81bcb87d>] ubsan_epilogue+0xd/0x40
> [    3.859725]  [<ffffffff81bcbc4d>] handle_overflow+0xbd/0xe0
> [    3.859728]  [<ffffffff81bcbc7e>] __ubsan_handle_add_overflow+0xe/0x10
> [    3.859732]  [<ffffffff818c6271>] btrfs_real_readdir+0x881/0xc10
> [    3.859737]  [<ffffffff8148b05d>] iterate_dir+0xdd/0x2d0
> [    3.859740]  [<ffffffff8148bb0b>] SyS_getdents+0x9b/0x110
> [    3.859743]  [<ffffffff8148b250>] ? iterate_dir+0x2d0/0x2d0
> [    3.859747]  [<ffffffff82b40a57>] entry_SYSCALL_64_fastpath+0x12/0x6a
> [    3.859749] ================================================================================

https://patchwork.kernel.org/patch/7611351/

-h

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web