Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2213020pxb; Tue, 12 Oct 2021 01:40:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwlTzpdbpiXGT8mhSxmcpuLYynmVlyDiCg1fqS2rYd+5h8lniPvG7cnlCt4j3vghLJm27gf X-Received: by 2002:a50:e10c:: with SMTP id h12mr47269498edl.299.1634028003193; Tue, 12 Oct 2021 01:40:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634028003; cv=none; d=google.com; s=arc-20160816; b=pefQOxkeec4JJUfoyCr26bCGPa/UUhy92eRaJp+9rrwDQ/sNMS9E1gFfOFlvZF1jMG +4QVZeLM6HWln/E+T7ws0Lv3fbY3fnsHb2eIvR6SvKJtoWdqNa3vSm3zB7fSXsQz681V tWqtHAWntAJKAhnApBH/+/SrlRwE9Efq2WzIsPhgiJ6I2IPx+VhHDhmsKzLW97pgMSpX cap+yJdqLDhDMLu9ZHTznkNExdt+OFXM8ba5PSrLpY4i+AXKrxtffnTwFRmk+0dOmicS OxJ+7Y6k7wcs+os4nKx0j14b6CTq9Drmmy5TpUzVk4uXsuF+VJz6yOZqHsC2cgBnIHhj xPDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :dkim-signature; bh=2PxooU0wMNWHRoqVg8KGWycx2G1vRUD/xvnBqPnO+Cw=; b=AL9akUcJ1dvaVsx1RagBLHWApFu/WTFZQnXSOKw9Z/hckiHRErgSDIQyEd/7/H236d UyLbZdiuRAXwIEWRnj2n9bp5MSU71/HlWbjyeFnUAW/hSPQMpBjXGdwaTx2JQ7oKK+2p cNKlE3NGRMhiTCDcjLWnLmGFkrMteWYfhwMcFDQgz1m0qsRazqx4vC/l0KattF0bdfr8 bKYGHlJOzh98bLydg67Eev+uoFDjdPU8hnlpxEv80m2tyApSTuweO4gKUKIIcC5WZWbg lLUX4mQMRpe7tx+Wz93eeb1Li/fntoW5RCFWJ5SfOzKp62gqwjQtzaYWgTog8HPAgAe7 0sWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=spzW640B; 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 n17si12529924ejc.605.2021.10.12.01.39.35; Tue, 12 Oct 2021 01:40:03 -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=20210112 header.b=spzW640B; 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 S234930AbhJLIhn (ORCPT + 99 others); Tue, 12 Oct 2021 04:37:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234745AbhJLIhm (ORCPT ); Tue, 12 Oct 2021 04:37:42 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 967F2C061570 for ; Tue, 12 Oct 2021 01:35:41 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id i83-20020a256d56000000b005b706d1417bso26412129ybc.6 for ; Tue, 12 Oct 2021 01:35:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:message-id:mime-version:subject:from:to:cc; bh=2PxooU0wMNWHRoqVg8KGWycx2G1vRUD/xvnBqPnO+Cw=; b=spzW640BaOKfr0hbZcimKSsUIxmi9aHJwfY7TPcMFosV8HHVLQ66+2SUyvTnniKPPb KepRy35l2WP5YsEj4uzZxcKfXhkbSjNmXkq0Jj0bI1OgdEWOqTCMkvyiGZFRzVVaKeIt R24G1kQbcJ0OiheevlxwUeRSfu8L6EoJLtIB0If3bBW9z54EIwQvD0AYdyPi1uRrph/t r3pqbZJi6MtobB/f65O8Wbm1a6U2N0trK1AHbKvaMnq5gb6A93J+41dZo7OkwK4n5BUL BViigYx/MBTXPNF0lXhx5lxDEYzSmmLQLUfflMHdDwRT5/6MLTFnxN4uUVrb8rTftX0V EVpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=2PxooU0wMNWHRoqVg8KGWycx2G1vRUD/xvnBqPnO+Cw=; b=j9Hpw1tvf05swDOrihyxj0nwha5D+pxtgRsaRcR4q5HTCUx9r+ixV415QaiO29IEkL NKeAzSuZyw0ZCZXxyNPYBphEdRl2PzV8KI3spbDJd3J19eAnYBvjbfOCWI3dZtu9kBPz oyVbl0zThi3c+BtEKPc0GZm72+WH/AQ55DwytZxQtM3M6xQM/YPWS5qDatwjyNyhyatZ Rw+lFXJso+Bb7a0vZBWufeOID8zn2HKAGhYX3SNzxGTO+c7IPzi4DRfEU9t6ejO8VnBk gPJWR+2VPsaRJYzjt5axpa4t7AFhojqDS+8eNvTUbDimiNSqs8bR6VRW16pGix36btcx 8FfQ== X-Gm-Message-State: AOAM532rsh4pjvs7KBmrKjGcgL9ZHbIr6oBreQzEtc0MwJZH9bUp6vJc YaHEvM9Y+iuemwhuiAy6mL91FNR5zfud5g== X-Received: from woodylin.ntc.corp.google.com ([2401:fa00:fc:202:4a20:efbd:8eb8:c383]) (user=woodylin job=sendgmr) by 2002:a25:e08d:: with SMTP id x135mr26667230ybg.199.1634027740838; Tue, 12 Oct 2021 01:35:40 -0700 (PDT) Date: Tue, 12 Oct 2021 16:35:21 +0800 Message-Id: <20211012083521.973587-1-woodylin@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.33.0.882.g93a45727a2-goog Subject: [PATCH] sched/scs: Reset the shadow stack when idle_task_exit From: Woody Lin To: Ingo Molnar , Ben Segall Cc: Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Mel Gorman , Daniel Bristot de Oliveira , Valentin Schneider , linux-kernel@vger.kernel.org, Woody Lin Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There was a 'init_idle' that resets scs sp to base, but is removed by f1a0a376ca0c. Without the resetting, the hot-plugging implemented by cpu_psci_cpu_boot will use the previous scs sp as new base when starting up a CPU core, so the usage on scs page is being stacked up until overflow. This only happens on idle task since __cpu_up is using idle task as the main thread to start up a CPU core, so the overflow can be fixed by resetting scs sp to base in 'idle_task_exit'. Fixes: f1a0a376ca0c ("sched/core: Initialize the idle task with preemption disabled") Signed-off-by: Woody Lin --- kernel/sched/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1bba4128a3e6..f21714ea3db8 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8795,6 +8795,7 @@ void idle_task_exit(void) finish_arch_post_lock_switch(); } + scs_task_reset(current); /* finish_cpu(), as ran on the BP, will clean up the active_mm state */ } -- 2.33.0.882.g93a45727a2-goog