From: Greg KH <gregkh@linuxfoundation.org>
To: Amit Pundir <amit.pundir@linaro.org>
Cc: linux-kernel@vger.kernel.org, a.ryabinin@samsung.com,
dvyukov@google.com, kcc@google.com, dmitryc@google.com,
adech.fo@gmail.com, tetra2005@gmail.com, koct9i@gmail.com,
sasha.levin@oracle.com, cl@linux.com, iamjoonsoo.kim@lge.com,
dave.hansen@intel.com, andi@firstfloor.org, mingo@elte.hu,
"Thomas Gleixner" <tglx@linutronix.de>,
hpa@zytor.com, penberg@kernel.org, rientjes@google.com,
"Arve Hjønnevåg" <arve@android.com>,
riandrews@android.com,
"Serban Constantinescu" <serban.constantinescu@arm.com>,
"John Stultz" <john.stultz@linaro.org>,
"Sumit Semwal" <sumit.semwal@linaro.org>
Subject: Re: Regression in v4.0.0-rc1 with Android Binder
Date: Thu, 26 Feb 2015 15:37:55 -0800 [thread overview]
Message-ID: <20150226233755.GA9960@kroah.com> (raw)
In-Reply-To: <CAMi1Hd0frW_BqLwPQ7M_CKbA8-SeYhykwWYFZ-_iSre5r3zK7Q@mail.gmail.com>
On Fri, Feb 27, 2015 at 03:34:32AM +0530, Amit Pundir wrote:
> Hi,
>
> I ran into series of following binder mmap failures with v4.0.0-rc1:
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 1971 at mm/vmalloc.c:130
> vmap_page_range_noflush+0x119/0x144()
> CPU: 0 PID: 1971 Comm: healthd Not tainted 4.0.0-rc1-00399-g7da3fdc-dirty #157
> Hardware name: ARM-Versatile Express
> [<c001246d>] (unwind_backtrace) from [<c000f7f9>] (show_stack+0x11/0x14)
> [<c000f7f9>] (show_stack) from [<c049a221>] (dump_stack+0x59/0x7c)
> [<c049a221>] (dump_stack) from [<c001cf21>] (warn_slowpath_common+0x55/0x84)
> [<c001cf21>] (warn_slowpath_common) from [<c001cfe3>]
> (warn_slowpath_null+0x17/0x1c)
> [<c001cfe3>] (warn_slowpath_null) from [<c00c66c5>]
> (vmap_page_range_noflush+0x119/0x144)
> [<c00c66c5>] (vmap_page_range_noflush) from [<c00c716b>] (map_vm_area+0x27/0x48)
> [<c00c716b>] (map_vm_area) from [<c038ddaf>]
> (binder_update_page_range+0x12f/0x27c)
> [<c038ddaf>] (binder_update_page_range) from [<c038e857>]
> (binder_mmap+0xbf/0x1ac)
> [<c038e857>] (binder_mmap) from [<c00c2dc7>] (mmap_region+0x2eb/0x4d4)
> [<c00c2dc7>] (mmap_region) from [<c00c3197>] (do_mmap_pgoff+0x1e7/0x250)
> [<c00c3197>] (do_mmap_pgoff) from [<c00b35b5>] (vm_mmap_pgoff+0x45/0x60)
> [<c00b35b5>] (vm_mmap_pgoff) from [<c00c1f39>] (SyS_mmap_pgoff+0x5d/0x80)
> [<c00c1f39>] (SyS_mmap_pgoff) from [<c000ce81>] (ret_fast_syscall+0x1/0x5c)
> ---[ end trace 48c2c4b9a1349e54 ]---
> binder: 1982: binder_alloc_buf failed to map page at f0e00000 in kernel
> binder: binder_mmap: 1982 b6bde000-b6cdc000 alloc small buf failed -12
>
>
> Turned out that the following commit tripped off binder:
> ----------8<----------
> commit 71394fe50146202f2c8d92cf50f5ebc761acf254
> Author: Andrey Ryabinin <a.ryabinin@samsung.com>
> Date: Fri Feb 13 14:40:03 2015 -0800
>
> mm: vmalloc: add flag preventing guard hole allocation
> ---------->8----------
>
>
> Explicitly disabling the vmalloc no guard (VM_NO_GUARD) flag in binder
> worked fine for me. So does a fix like this look reasonable enough to
> submit?
> ----------8<----------
> --- a/drivers/android/binder.c
> +++ b/drivers/android/binder.c
> @@ -601,6 +601,7 @@ static int binder_update_page_range(struct
> binder_proc *proc, int allocate,
> goto err_alloc_page_failed;
> }
> tmp_area.addr = page_addr;
> + tmp_area.flags &= ~VM_NO_GUARD;
> tmp_area.size = PAGE_SIZE + PAGE_SIZE /* guard page? */;
> ret = map_vm_area(&tmp_area, PAGE_KERNEL, page);
> if (ret) {
> ---------->8----------
This looks like a valid fix, please send it in.
thanks,
greg k-h
next prev parent reply other threads:[~2015-02-26 23:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 22:04 Regression in v4.0.0-rc1 with Android Binder Amit Pundir
2015-02-26 23:37 ` Greg KH [this message]
2015-02-27 0:12 ` Arve Hjønnevåg
2015-02-27 3:01 ` David Rientjes
2015-02-27 16:30 ` [PATCH] android: binder: fix binder mmap failures Andrey Ryabinin
2015-02-27 17:26 ` John Stultz
2015-02-27 17:37 ` Andrey Ryabinin
2015-02-27 17:44 ` [PATCH v2] " Andrey Ryabinin
2015-02-27 18:03 ` John Stultz
2015-02-27 20:59 ` David Rientjes
2015-03-01 18:17 ` Amit Pundir
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150226233755.GA9960@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=a.ryabinin@samsung.com \
--cc=adech.fo@gmail.com \
--cc=amit.pundir@linaro.org \
--cc=andi@firstfloor.org \
--cc=arve@android.com \
--cc=cl@linux.com \
--cc=dave.hansen@intel.com \
--cc=dmitryc@google.com \
--cc=dvyukov@google.com \
--cc=hpa@zytor.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=john.stultz@linaro.org \
--cc=kcc@google.com \
--cc=koct9i@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=penberg@kernel.org \
--cc=riandrews@android.com \
--cc=rientjes@google.com \
--cc=sasha.levin@oracle.com \
--cc=serban.constantinescu@arm.com \
--cc=sumit.semwal@linaro.org \
--cc=tetra2005@gmail.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.