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
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 Nov 2013 23:19:53 -0800
From:	Kent Overstreet <kmo@...erainc.com>
To:	Dave Jones <davej@...hat.com>,
	Linux Kernel <linux-kernel@...r.kernel.org>,
	Sasha Levin <sasha.levin@...cle.com>,
	Benjamin LaHaise <bcrl@...ck.org>
Subject: Re: GPF in aio_migratepage

On Tue, Nov 26, 2013 at 01:01:32AM -0500, Dave Jones wrote:
> On Mon, Nov 25, 2013 at 10:26:45PM -0500, Dave Jones wrote:
>  > Hi Kent,
>  > 
>  > I hit the GPF below on a tree based on 8e45099e029bb6b369b27d8d4920db8caff5ecce
>  > which has your commit e34ecee2ae791df674dfb466ce40692ca6218e43
>  > ("aio: Fix a trinity splat").  Is this another path your patch missed, or
>  > a completely different bug to what you were chasing ?
> 
> And here's another from a different path, this time on 32bit.

I'm pretty sure this is a different bug... it appears to be related to
aio ring buffer migration, which I don't think I've touched.

Any information on what it was doing at the time? I see exit_aio() in
the second backtrace, maybe some sort of race between migratepage and
ioctx teardown? But it is using the address space mapping, so I dunno.

I don't see what's protecting ctx->ring_pages - I imagine it's got to
have something to do with the page migration machinery but I have no
idea how that works. Ben?

> Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> Modules linked in: tun fuse hidp rfcomm bnep scsi_transport_iscsi l2tp_ppp l2tp_netlink l2tp_core nfc caif_socket caif af_802154 phonet af_rxrpc bluetooth rfkill can_raw can_bcm can llc2 pppoe pppox ppp_generic slhc irda crc_ccitt rds af_key rose x25 atm netrom appletalk ipx p8023 p8022 psnap llc ax25 nouveau video backlight mxm_wmi wmi i2c_algo_bit ttm drm_kms_helper drm i2c_core kvm_intel kvm tg3 ptp pps_core libphy serio_raw pcspkr lpc_ich microcode mfd_core rtc_cmos parport_pc parport shpchp xfs libcrc32c raid0 floppy
> CPU: 0 PID: 4517 Comm: trinity-child0 Not tainted 3.13.0-rc1+ #6 
> Hardware name: Dell Inc.                 Precision WorkStation 490    /0DT031, BIOS A08 04/25/2008
> task: ed899630 ti: dea22000 task.ti: dea22000
> EIP: 0060:[<c11c7a02>] EFLAGS: 00010293 CPU: 0
> EIP is at aio_migratepage+0xad/0x126
> EAX: 00000144 EBX: f6844ed8 ECX: deaf4a84 EDX: 6b6b6b6b
> ESI: f68dc508 EDI: deaf4800 EBP: dea23bcc ESP: dea23ba8
>  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> CR0: 8005003b CR2: 6b6b707b CR3: 2c985000 CR4: 000007f0
> Stack:
>  00000000 00000001 deaf4a84 00000286 d709b280 00000000 f68dc508 c11c7955
>  f6844ed8 dea23c0c c116aa9f 00000001 00000001 c11c7955 c1179a33 00000000
>  00000000 c114166d f6844ed8 f6844ed8 c1140fc9 dea23c0c 00000000 f6844ed8
> Call Trace:
>  [<c11c7955>] ? free_ioctx+0x62/0x62
>  [<c116aa9f>] move_to_new_page+0x63/0x1bb
>  [<c11c7955>] ? free_ioctx+0x62/0x62
>  [<c1179a33>] ? mem_cgroup_prepare_migration+0xc1/0x243
>  [<c114166d>] ? isolate_migratepages_range+0x3fb/0x675
>  [<c1140fc9>] ? isolate_freepages_block+0x316/0x316
>  [<c116b319>] migrate_pages+0x614/0x72b
>  [<c1140fc9>] ? isolate_freepages_block+0x316/0x316
>  [<c1141c21>] compact_zone+0x294/0x475
>  [<c1142065>] try_to_compact_pages+0x129/0x196
>  [<c15b95e7>] __alloc_pages_direct_compact+0x91/0x197
>  [<c112a25c>] __alloc_pages_nodemask+0x863/0xa55
>  [<c116b68f>] get_huge_zero_page+0x52/0xf9
>  [<c116ef78>] do_huge_pmd_anonymous_page+0x24e/0x39f
>  [<c1171c4b>] ? __mem_cgroup_count_vm_event+0xa6/0x191
>  [<c1171c64>] ? __mem_cgroup_count_vm_event+0xbf/0x191
>  [<c114815c>] handle_mm_fault+0x235/0xd9a
>  [<c15c7586>] ? __do_page_fault+0xf8/0x5a1
>  [<c15c75ee>] __do_page_fault+0x160/0x5a1
>  [<c15c7586>] ? __do_page_fault+0xf8/0x5a1
>  [<c15c7a2f>] ? __do_page_fault+0x5a1/0x5a1
>  [<c15c7a3c>] do_page_fault+0xd/0xf
>  [<c15c4e7c>] error_code+0x6c/0x74
>  [<c114007b>] ? memcg_update_all_caches+0x23/0x6b
>  [<c12d0be5>] ? __copy_from_user_ll+0x30/0xdb
>  [<c12d0ccf>] _copy_from_user+0x3f/0x55
>  [<c1057aa2>] SyS_setrlimit+0x27/0x50
>  [<c1044792>] ? SyS_gettimeofday+0x33/0x6d
>  [<c12d0798>] ? trace_hardirqs_on_thunk+0xc/0x10
>  [<c15cb33b>] sysenter_do_call+0x12/0x32
> Code: 6e 8d 8f 84 02 00 00 89 c8 89 4d e4 e8 df bf 3f 00 89 45 e8 89 da 89 f0 e8 99 2b fa ff 8b 43 08 3b 47 54 8b 4d e4 73 06 8b 57 50 <89> 34 82 8b 55 e8 89 c8 e8 aa c1 3f 00 8b 45 ec e8 28 c1 3f 00
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists