Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753797AbaBXQcc (ORCPT ); Mon, 24 Feb 2014 11:32:32 -0500 Received: from mail-qa0-f51.google.com ([209.85.216.51]:42379 "EHLO mail-qa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752701AbaBXQca (ORCPT ); Mon, 24 Feb 2014 11:32:30 -0500 Date: Mon, 24 Feb 2014 11:34:30 -0500 (EST) From: Vince Weaver To: Vince Weaver cc: "H. Peter Anvin" , Linux Kernel , Peter Zijlstra , Ingo Molnar , "H.J. Lu" Subject: Re: perf_fuzzer compiled for x32 causes reboot In-Reply-To: Message-ID: References: <53084317.4090304@zytor.com> <530AD71E.50800@zytor.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 24 Feb 2014, Vince Weaver wrote: > Just touching the mmap page with a write of a single byte (it doesn't > matter where) is enough to trigger the bug. OK, investigating this more. perf_fuzzer-2971 [000] 154.944114: page_fault_user: address=0xf7729000 ip=0x41efab error_code=0x6 perf_fuzzer-2971 [000] 154.944118: function: ip=0xffffffff810d40e7 parent_ip=0xffffffff810d0840 perf_fuzzer-2971 [000] 154.944119: function: ip=0xffffffff812a91a5 parent_ip=0xffffffff81013ff5 perf_fuzzer-2971 [000] 154.944120: function: ip=0xffffffff8153837c parent_ip=0xffffffff81535432 perf_fuzzer-2971 [000] 154.944121: page_fault_kernel: address=0x22e0 ip=0xffffffff812a7d5c error_code=0x0 It looks like there are two page faults. The first is caused by the user code accessing the mmap'd page. It looks sort of normal and what you'd expect if the perf_event mmap ring buffer is being accessed for the first time. What follows is a kernel page fault, and this is the one where for whatever reason CR2 has obtained the value of the userspace RBP register. Vince -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/