From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by kanga.kvack.org (Postfix) with ESMTP id E635A6B0009 for ; Sat, 30 Jan 2016 14:53:49 -0500 (EST) Received: by mail-wm0-f41.google.com with SMTP id p63so21410706wmp.1 for ; Sat, 30 Jan 2016 11:53:49 -0800 (PST) Received: from mail-wm0-x231.google.com (mail-wm0-x231.google.com. [2a00:1450:400c:c09::231]) by mx.google.com with ESMTPS id v2si29722727wjz.107.2016.01.30.11.53.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 Jan 2016 11:53:48 -0800 (PST) Received: by mail-wm0-x231.google.com with SMTP id 128so22745554wmz.1 for ; Sat, 30 Jan 2016 11:53:48 -0800 (PST) Date: Sat, 30 Jan 2016 21:53:46 +0200 From: "Kirill A. Shutemov" Subject: Re: 4.5-rc1: mm/gup.c warning when writing to /proc/self/mem Message-ID: <20160130195346.GA19437@node.shutemov.name> References: <20160130175831.GA30571@codemonkey.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160130175831.GA30571@codemonkey.org.uk> Sender: owner-linux-mm@kvack.org List-ID: To: Dave Jones , linux-mm@kvack.org, Linux Kernel , Hugh Dickins , Linus Torvalds , Andrew Morton On Sat, Jan 30, 2016 at 12:58:31PM -0500, Dave Jones wrote: > Hit this overnight. Just started seeing this after I added "create mmap's > of fd's we open()'d" to trinity. The WARN_ON_ONCE() came form Hugh's patch: cda540ace6a1 ("mm: get_user_pages(write,force) refuse to COW in shared areas") This warning is expected if you try to write via /proc//mem into write-protected shared mapping without FMODE_WRITE on the underlying file. You're not supposed to do that and -EFAULT is right answer for an attempt. The WARN_ON_ONCE() was added almost two years ago to catch other not expected users of get_user_pages(write=1,force=1). IIUC, none were found. Probably we should consider removing the warning. > > Dave > > WARNING: CPU: 1 PID: 16733 at mm/gup.c:434 __get_user_pages+0x5f9/0x990() > CPU: 1 PID: 16733 Comm: trinity-c30 Tainted: G W 4.5.0-rc1-think+ #12 > 0000000000000009 000000006648ff5c ffff88000f0779a0 ffffffff99565971 > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 16731 at mm/gup.c:434 __get_user_pages+0x5f9/0x990() > 0000000000000000 ffff88000f0779e0 ffffffff990b168f ffffffff992aba69 > ffff880450cf1000 0000000000000000 ffff88023780e600 0000000000000017 > Call Trace: > [] dump_stack+0x4e/0x7d > [] warn_slowpath_common+0x9f/0xe0 > [] ? __get_user_pages+0x5f9/0x990 > [] warn_slowpath_null+0x1a/0x20 > [] __get_user_pages+0x5f9/0x990 > [] ? follow_page_mask+0x530/0x530 > [] ? __access_remote_vm+0xca/0x340 > [] get_user_pages+0x52/0x60 > [] __access_remote_vm+0x190/0x340 > [] ? preempt_count_sub+0xc1/0x120 > [] ? __might_fault+0xf0/0xf0 > [] ? __might_fault+0x87/0xf0 > [] access_remote_vm+0x1f/0x30 > [] mem_rw.isra.15+0xe3/0x1d0 > [] mem_write+0x43/0x50 > [] __vfs_write+0xdd/0x260 > [] ? __vfs_read+0x260/0x260 > [] ? mutex_lock_nested+0x38b/0x590 > [] ? __lock_is_held+0x92/0xd0 > [] ? preempt_count_sub+0xc1/0x120 > [] ? update_fast_ctr+0x65/0x90 > [] ? percpu_down_read+0x57/0xa0 > [] ? __sb_start_write+0xb4/0xf0 > [] vfs_write+0xf6/0x260 > [] SyS_write+0xbf/0x160 > [] ? SyS_read+0x160/0x160 > [] ? trace_hardirqs_on_thunk+0x17/0x19 > [] entry_SYSCALL_64_fastpath+0x12/0x6b > CPU: 0 PID: 16731 Comm: trinity-c28 Tainted: G W 4.5.0-rc1-think+ #12 > 0000000000000009 000000002962eec9 ffff8802e7b7f8d8 ffffffff99565971 > 0000000000000000 ffff8802e7b7f918 ffffffff990b168f ffffffff992aba69 > ffff8803ed6f1000 00000000000000a0 ffff88023780e600 0000000000000017 > Call Trace: > [] dump_stack+0x4e/0x7d > [] warn_slowpath_common+0x9f/0xe0 > [] ? __get_user_pages+0x5f9/0x990 > [] warn_slowpath_null+0x1a/0x20 > [] __get_user_pages+0x5f9/0x990 > [] ? native_sched_clock+0x69/0x160 > [] ? follow_page_mask+0x530/0x530 > [] ? __access_remote_vm+0xca/0x340 > [] get_user_pages+0x52/0x60 > [] __access_remote_vm+0x190/0x340 > [] ? preempt_count_sub+0xc1/0x120 > [] ? __might_fault+0xf0/0xf0 > [] ? __might_fault+0x87/0xf0 > [] access_remote_vm+0x1f/0x30 > [] mem_rw.isra.15+0xe3/0x1d0 > [] mem_write+0x43/0x50 > [] do_loop_readv_writev+0xe0/0x110 > [] ? mem_rw.isra.15+0x1d0/0x1d0 > [] do_readv_writev+0x38b/0x3c0 > [] ? trace_hardirqs_off_caller+0x70/0x110 > [] ? mem_rw.isra.15+0x1d0/0x1d0 > [] ? vfs_write+0x260/0x260 > [] ? debug_smp_processor_id+0x17/0x20 > [] ? preempt_count_sub+0xc1/0x120 > [] ? __lock_is_held+0x25/0xd0 > [] ? mark_held_locks+0x23/0xc0 > [] ? context_tracking_exit.part.5+0x2a/0x50 > [] ? trace_hardirqs_on_caller+0x186/0x280 > [] ? trace_hardirqs_on+0xd/0x10 > [] vfs_writev+0x59/0x70 > [] SyS_pwritev+0x15d/0x180 > [] ? SyS_preadv+0x180/0x180 > [] ? trace_hardirqs_on_thunk+0x17/0x19 > [] entry_SYSCALL_64_fastpath+0x12/0x6b > ---[ end trace 96115a52264cceaf ]--- > ---[ end trace 96115a52264cceb0 ]--- > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: email@kvack.org -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org