From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EAEB7D2A542 for ; Wed, 16 Oct 2024 19:18:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id:Date:Subject: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=mnUOdLnFJmyzeKaHzf9E/7YlAq92nC9210MUbTkGRcs=; b=g90KryPPjKfTk1 4FIIxokfaBl6G6b4WIM9mxvRw0/D79nrFg3+eDxkY1ES2oktumtigGzVyQ1smM+dAfoBFx2OQ/IpO wQIaBTZnwaTgmvDOX3LMyGunZTAMGJE8SJY3LDfLZ4tb+Pflkr39GCbXxEPxfs/S9FlOo5MByHVsF mdRyWOxdBJOFhQKO0cD11osdeh5/aEG1Kp62Z5XfCntbjmnAuaViL4ilEOgHkCC6cHzMkX1GfDh2f Dz1bn/tXcpR6+wyS8FlrBmY2KfBD663mruGhi9JM4F18xbCBVMDABDQqQm6CJ5g/TcypgyiaC4Aut EENrigK1MnFRxDbw+DOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t19XN-0000000Cmec-3HWK; Wed, 16 Oct 2024 19:18:25 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t19UZ-0000000CmVZ-127H for linux-arm-kernel@lists.infradead.org; Wed, 16 Oct 2024 19:15:32 +0000 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-539e3f35268so177985e87.3 for ; Wed, 16 Oct 2024 12:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729106129; x=1729710929; darn=lists.infradead.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=mnUOdLnFJmyzeKaHzf9E/7YlAq92nC9210MUbTkGRcs=; b=pRxUv7MLHtc1xansnkUCFGMX77VAc8240m0Sl4GiBRFHEkXQsJFW9mGYLKgCOUGR1P g4vhB1TimWmYE3IqwcnesSxt+NsUeQFqhrAv9zqjvpj+RQ8Y/3PhoJAqtw3nHrkd6qlK Q3tC8PWpCLnYXNotx8Zk6nHDYPamLKRupbAEAYVJH1iKGwrwNMXomR7yaqjq4cfR+Pq0 PtSb1IVoakUR86vDA3hjVknI+em83CruIaF5XtztTu/ZHzMotdtRUyCe1a8wgoEmoJIZ MJxVpWPIRSDm4Odl5aGKdgZsfq5Y7RGoaJ/PTlsliINDSYX1lJV8pteZn50zuZNk5ocR xxKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729106129; x=1729710929; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mnUOdLnFJmyzeKaHzf9E/7YlAq92nC9210MUbTkGRcs=; b=r0UyRaHe0COefTrH8YkAwhpOmMJQJHQ1HibWshZblmLKuZpSw8W6R8UFGlVspeC+1h Z8C35zyVo/r2/WWTe4o9VpIuqcb+ghhyd6EShb8ZgLX/KS5fN6jvyEuCQWFM9MZ5FxKi 45tQDqDgWX3yZHf0UpEkZI6kNufphlzlHluu+oCYYECjDA2ofcA73B4XivsQxitvmIRJ K4aFd57EMtuUkPQVuszq+35q+mLnJ2Ny1j2L9UU1s0qVhB5TcREOa5k6zysy9Me/6yED kWLQEA8/dzdADQWTKeih2T9TIHHhlHKGxIRWmi5PFnkRZwu6imq/DdkJyKFvZyt5MePw 6KoQ== X-Forwarded-Encrypted: i=1; AJvYcCV2ERg6tuyuN5BDxcKmK6bd37no5VYMLmXLVuz43Z6hri0wWD01GcE1mWwpCJbYXN+j98tZjdmo7RBUDw8U8KY5@lists.infradead.org X-Gm-Message-State: AOJu0Yy8msyRD8VdAP58HZZOKRwbhk/8wUMCL+6s3lqfQ9wo+f12KUzO 6fZaEYe6JS6U2IqWUZ/bsZEqC84mSxmPu8HdyvKgNbTBzSbxbcBl42mjq6zaD3c= X-Google-Smtp-Source: AGHT+IHyCp88Lyyn8NVup2Cdcy7bSgWgZ9pAZqaIufBQaS5qEjeH2wgORBRi5ULiWKpPBEy1cbB6lA== X-Received: by 2002:a05:6512:1095:b0:536:a52d:f94b with SMTP id 2adb3069b0e04-539e54d828fmr9034506e87.8.1729106127388; Wed, 16 Oct 2024 12:15:27 -0700 (PDT) Received: from lino.lan ([85.235.12.238]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53a00013cffsm531184e87.278.2024.10.16.12.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Oct 2024 12:15:26 -0700 (PDT) From: Linus Walleij Subject: [PATCH v2 0/2] Fix KASAN crash when using KASAN_VMALLOC Date: Wed, 16 Oct 2024 21:15:20 +0200 Message-Id: <20241016-arm-kasan-vmalloc-crash-v2-0-0a52fd086eef@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAMgQEGcC/4WNTQ6CMBBGr0Jm7RhaqD+svIdhMZQCE6E1U9NoC He3cgGX7yXf+1aITthFaIoVxCWOHHwGfSjATuRHh9xnBl3qWpXKIMmCD4rkMS00z8GiFYoTDrb rjarVqTZnyOunuIHfe/neZp44voJ89qOkfvZ/Myksse86XZmrtnSpbjN7knAMMkK7bdsXO32L7 78AAAA= To: Clement LE GOFFIC , Russell King , Kees Cook , AngeloGioacchino Del Regno , Mark Brown , Mark Rutland , Ard Biesheuvel Cc: Antonio Borneo , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Linus Walleij , stable@vger.kernel.org X-Mailer: b4 0.14.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241016_121531_328561_0AD954C3 X-CRM114-Status: GOOD ( 12.65 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This problem reported by Clement LE GOFFIC manifest when using CONFIG_KASAN_IN_VMALLOC and VMAP_STACK: https://lore.kernel.org/linux-arm-kernel/a1a1d062-f3a2-4d05-9836-3b098de9db6d@foss.st.com/ After some analysis it seems we are missing to sync the VMALLOC shadow memory in top level PGD to all CPUs. Add some code to perform this sync, and the bug appears to go away. As suggested by Ard, also perform a dummy read from the shadow memory of the new VMAP_STACK in the low level assembly. Signed-off-by: Linus Walleij --- Changes in v2: - Implement the two helper functions suggested by Russell making the KASAN PGD copying less messy. - Link to v1: https://lore.kernel.org/r/20241015-arm-kasan-vmalloc-crash-v1-0-dbb23592ca83@linaro.org --- Linus Walleij (2): ARM: ioremap: Sync PGDs for VMALLOC shadow ARM: entry: Do a dummy read from VMAP shadow arch/arm/kernel/entry-armv.S | 8 ++++++++ arch/arm/mm/ioremap.c | 25 +++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-) --- base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc change-id: 20241015-arm-kasan-vmalloc-crash-fcbd51416457 Best regards, -- Linus Walleij