Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp4705952pxk; Wed, 30 Sep 2020 09:33:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyb4BFGY02T5swHJ/whNEpuJfzZb+j/l3OFfDRdXIcIK9RQIjwohsYhyeIUzjSixc4CNTT/ X-Received: by 2002:a17:906:5e59:: with SMTP id b25mr3769663eju.414.1601483614189; Wed, 30 Sep 2020 09:33:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601483614; cv=none; d=google.com; s=arc-20160816; b=IgcTgKh+u2EAbd63ZlSaTqk6DMDJtMeHh+mDevVO6K6D2Dh0pVCVJeNX0q5nx3Hue5 G8JDN5TT73Jka3uGDy3i+ddPFHrbxg/+WGgyZg//VCLh55fn3en3A1Bg7K5AR+VpMIr5 KgIGRX66V6uR9zjBo5WmZdQVy4uMS9PDDvV5ILGcIA9XNY04HW7tm4/OwWCJs8g3j9p1 6q8d/FDIht2ckUVL1F4F5cY4u8ki5YCIe/6tgJiE3PgC/1yXbjDRYg4UuznunOZDARDl 5X/sPC4AUK2JNzgGz8EtWoKL43zeFTiLUoAC249YOXUZ7HgZWKw3tr53DFHJ1fRtQbVC A1YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=JY0B2dX8EdNzyATXC+SxwmmN5kC9QsWUQGW5TuYSORs=; b=foJ8h54dyFFEqi4aRZPhBjX8zB/WlDHs8VMaO6f1Vpxzm7oqtB/iviQwyS7gLk4E6Y FVE+jMI+6xFD4z/nElibvpP8nde1JrFsO9linawPrYJ85+pw/twbRLSoz04wC4t3j8Qq rvQd58A13rXgP+WVZ47KI1EAuV6bY87Wwx5RTcrRN/Bc2FThZBuaTTmjAKqLCko5CnDT Yi/ZF2tZMDHeOumzsYMLSdIzIoV0kdp+wcD2Yk2WvUOPzcyhMc8zB2jwsbBFtcllI0WH Zdw/9jKddjwGOwEl8AM/BwKgBTr3nLVaOMc0LqkMq7CD6h6EIoS6BPh1iPwThQ6FFVrp odvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=MThnJ+rh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f25si1474200ejb.519.2020.09.30.09.33.08; Wed, 30 Sep 2020 09:33:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=MThnJ+rh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731287AbgI3Q3l (ORCPT + 99 others); Wed, 30 Sep 2020 12:29:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725355AbgI3Q3k (ORCPT ); Wed, 30 Sep 2020 12:29:40 -0400 Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B92FC061755 for ; Wed, 30 Sep 2020 09:29:39 -0700 (PDT) Received: by mail-qk1-x741.google.com with SMTP id q5so2025515qkc.2 for ; Wed, 30 Sep 2020 09:29:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JY0B2dX8EdNzyATXC+SxwmmN5kC9QsWUQGW5TuYSORs=; b=MThnJ+rhumDXS1ZLsDOZ+uKc2/OXzs+dnTOMT1+OO/9TWRDP1g1lp1CDbXA7SjFK1w H3xW/CnUY86XbIVAiYT25jOajftlryNyXpvOgAyCxcdLhjYloHoSfVnJpY/+l1vdqJP1 MVkcm06LwOVqgkj/gMUMDRBYBdXLKxM8Dgj3NEz+aeNb5xIvskXINGKmJ3qs5I5USZie NSKh08MZQnZMyV/LrzgFchhjPkdy4m6FCBscLaqw/xuC5bJucT8EiDEZBBHgof8pEvO1 0MiFEEDN1OtDZsHJs6Ah2SnmiwCd0/bTA7CNJTz5glgIHhc3P/Vpn/M1Yli5yPKQowNS CDDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JY0B2dX8EdNzyATXC+SxwmmN5kC9QsWUQGW5TuYSORs=; b=avH6FcPH3ftp8RAW82DuCHiKGG6Yz92ENskYnXUnWm6r09dPktUb2C1/v7FAiXM6eZ nEvUzXNkapop9c9Gt8jxt1pKA6AFoKIr2TBcjiiMCsFOFTtfcrQOpil5JOHHIqxEkpAK IDasLkcqr6pugJBNwW/prJ7jgnDulDKV285eG0LHMR5Jj7+ItSH6/yU68TtD1h4fFiGi lPAbr2jQcwJ2QHvLkYvpIuVAjdkw/7j4sqCk3W9dRjUlHWbatx0r2rmQIlHqb/Hzkvq4 Qe4aUt9LdLI4KDkmGHFtOARfVMKd6dKRDt3TO8mrt1vwT9Wtb+XdwEMY2ZSDXkC77Mg4 MXOw== X-Gm-Message-State: AOAM530UE1fXtQGGw1r/jNaRF6gcvGzrHZ+l9WXuD8pMt3OJuiuWSFeV vh74g7RFyT+lElmMHHKuJrpl54yi5RDR19mA8HFai14iOVQbYg== X-Received: by 2002:a37:9c4f:: with SMTP id f76mr3481549qke.250.1601483378431; Wed, 30 Sep 2020 09:29:38 -0700 (PDT) MIME-Version: 1.0 References: <20200927145737.GA4746@zn.tnic> <20200928083819.GD1685@zn.tnic> <20200928085401.GE1685@zn.tnic> <20200928202353.GI1685@zn.tnic> <20200929083336.GA21110@zn.tnic> <20200930161711.GH6810@zn.tnic> In-Reply-To: From: Dmitry Vyukov Date: Wed, 30 Sep 2020 18:29:26 +0200 Message-ID: Subject: Re: general protection fault in perf_misc_flags To: Borislav Petkov Cc: Alexander Potapenko , Marco Elver , syzbot , Arnaldo Carvalho de Melo , Alexander Shishkin , "H. Peter Anvin" , Jiri Olsa , LKML , Mark Rutland , Ingo Molnar , Namhyung Kim , Peter Zijlstra , syzkaller-bugs , Thomas Gleixner , "the arch/x86 maintainers" , clang-built-linux , syzkaller Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 30, 2020 at 6:23 PM Dmitry Vyukov wrote: > > Hi, > > > > one more thing I just spotted. The default install of syzkaller here > > runs the guest with this on the kernel command line: > > > > 2020/09/30 17:56:18 running command: qemu-system-x86_64 []string{"-m", "2048", > > "-smp", "2", "-display", ... "-append", "earlyprintk=serial oops=panic ... > > nmi_watchdog=panic panic_on_warn=1 panic=1 ftrace_dump_on_oops=orig_cpu rodata=n > > ^^^^^^^^^^ > > > > which basically leaves guest kernel's memory RW and it gets caught > > immediately on vm boot by CONFIG_DEBUG_WX. > > > > This pretty much explains why kernel text can get corrupted with a stray > > pointer write or so. So what's the use case for rodata=n? > > > > [ 2.478136] Kernel memory protection disabled. > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > Ha! > > Here is the answer: > https://github.com/google/syzkaller/blob/master/tools/create-gce-image.sh#L189 > > # rodata=n: mark_rodata_ro becomes very slow with KASAN (lots of PGDs) > > I have some vague memory that there was some debug double checking > that pages are indeed read-only and that debug check was slow, but it > was always executed without rodata=n. I don't see this is still the case. Diff between 2 boots: [ 11.985152][ T1] Freeing unused kernel image (initmem) memory: 3432K [ 11.986129][ T1] Write protecting the kernel read-only data: 147456k [ 11.990863][ T1] Freeing unused kernel image (text/rodata gap) memory: 2012K [ 11.992797][ T1] Freeing unused kernel image (rodata/data gap) memory: 1324K [ 11.993895][ T1] Run /sbin/init as init process [ 11.910396][ T1] Freeing unused kernel image (initmem) memory: 3432K [ 11.911277][ T1] Kernel memory protection disabled. [ 11.911984][ T1] Run /sbin/init as init process Was it fixed at some point? Was it backported to stable?