Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1155379pxb; Fri, 21 Jan 2022 11:02:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJwgqOH5Ovb7rAnBPHJBbAgTk1kK9mNfnXw7cLqsy6Pa9uECnhQJByXdceL4H+0/JZ8RD9We X-Received: by 2002:a17:902:d4c3:b0:14b:2eda:be2a with SMTP id o3-20020a170902d4c300b0014b2edabe2amr516109plg.84.1642791749033; Fri, 21 Jan 2022 11:02:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642791749; cv=none; d=google.com; s=arc-20160816; b=nNUp4HtBBDZPEJbMeLwiPu6461IumWwT49YQJtLhKjQWPyR37FE3b9nP9qrRekLmfD 54mAW5l1Jo3o4NWWgRYA92vWyOvnkAa4TMvUsPN5GOfRufP/6mtVRTFFmSCYx/+ySoSP Ia5v7iYgfbnUMn2IQeatqG+9ybahz2BBANnmtyUXu1k6pG7FzH0P1aFCXHVggpaC6l9N kE0m5elsuYuveZMNB0jCurV1AxjnxaDtk5EtA9LzgERf2qIXdBt3DjUx7MUTH//+7IBN Tc5Ce2WWcVASm1iv3vpaVENhMMxkxoyAs8dhreDv3Qh4F7lFxOFHxROg/VFWTHeh1Qtw R7fQ== 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=Yk6ZU06f8iQAnFUq/Y5YZD/opTVQaQ5S7MbGVdU6/a8=; b=FW2Q3iWS2oYotZhcQ/eZ/sVIcffPyGInch/jPFPOiJNUaBWfd5J1DFXIE0CMbQIAqx 3yTTYezYa7PeyDpbneA8XX8YdNwrV+PmZRTvB3ade8gZqtfi54O9YJ+YHS3dKprdh2hD LmjHK3AFmH3sfd7+iJtBQ1UwKaH2YZffXboIzoJ0oWKFZoJaYdA2LIrjyakM3dp2RBQl RV6+i1nJLuOoZ+Nic7h5oi/U/jz+nj8MCBE3X8dZMLCzxW0a4BQCMsWGB1mxPEVgcM7s OdUquSdN+WgszjbXy+6EK/l5ujSJlNthCubFxWgPEylckqNCph8ADooTjVuLK93+WEHc b0ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="J7oQTI/b"; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v185si1849508pgd.469.2022.01.21.11.02.16; Fri, 21 Jan 2022 11:02:29 -0800 (PST) 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=@linaro.org header.s=google header.b="J7oQTI/b"; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352821AbiASJIj (ORCPT + 99 others); Wed, 19 Jan 2022 04:08:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237932AbiASJIj (ORCPT ); Wed, 19 Jan 2022 04:08:39 -0500 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9849AC06161C for ; Wed, 19 Jan 2022 01:08:38 -0800 (PST) Received: by mail-lf1-x12f.google.com with SMTP id b14so6701751lff.3 for ; Wed, 19 Jan 2022 01:08:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Yk6ZU06f8iQAnFUq/Y5YZD/opTVQaQ5S7MbGVdU6/a8=; b=J7oQTI/b0sE2aAgFehOjzBf85bwowWQizUpHYHenltV5UItibFerb9OxPzIrQYk7lD XNpsqCV/x96//VVlmOubcFo7fnT6bFRXM057B3eTI2TjbK+/fkB9Ulj+0wTSiWpajgmX sBgPYUCQBkhUQqTGLjpBi3b/T5s7fda1qNAOz0g/tlB+TJnRxQXNNYyGvEZdOIffPTfw WlsjYDhG515tCD4kWKdp1VpBZPIXvyibzgC63qw5PZi3LAXiFqRIO8xjn/vy8YfQ/urU LQ6biKJujGkPHvJETu2sk7mqJpYuMZb45P1QQqJP6CJYk2yJY/ExBLWdITtgX7VSRSgt tV3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Yk6ZU06f8iQAnFUq/Y5YZD/opTVQaQ5S7MbGVdU6/a8=; b=5fla7KFYx5E0hcahXWJbBl+MIewvM35aLd62W5H7QkPFkMMY+R4fdvmnJQcInCKhjP 2JfA9eKaYYdmuYJF5JA6wzjJu4DtbzSqpvl8IxRluOrE0wmgvsgASSTw4I0uhUm5D+Tx BsuGqPb5RcCKtqDr64UUWBqPhtZrj/adESNUZZ1O3y/pqHTgWzDqEFpMQfpwcb6cj7Vx XDFlA5clBb+zEg++EmtvtKvbiDSz62mvLtQ2rKO3sAPXwqjKjJsruqQGEZeWuPPRVOR7 dQYaSaicJizKksVgtuJ8zod8ZFBq+7th7okQ5HSbtxEEZmozqHrs2K1RJmuxnRmnpGyf kMzA== X-Gm-Message-State: AOAM532isl+rJy6Im/eMJ3IwGKkL6jUeXQGi0Vk1kORZebXX5WwAMs/G 9fl3HYP/kErIMvpksmhsTgG0PINDOAodeqo8kq675Q== X-Received: by 2002:a2e:908e:: with SMTP id l14mr13581522ljg.266.1642583316905; Wed, 19 Jan 2022 01:08:36 -0800 (PST) MIME-Version: 1.0 References: <20220119012417.299060-1-tadeusz.struk@linaro.org> In-Reply-To: <20220119012417.299060-1-tadeusz.struk@linaro.org> From: Vincent Guittot Date: Wed, 19 Jan 2022 10:08:25 +0100 Message-ID: Subject: Re: [PATCH] sched/fair: Fix fault in reweight_entity To: Tadeusz Struk Cc: mingo@redhat.com, Peter Zijlstra , Juri Lelli , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Zhang Qiao , stable@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 19 Jan 2022 at 02:24, Tadeusz Struk wrote: > > Syzbot found a GPF in reweight_entity. This has been bisected to commit > c85c6fadbef0 ("kernel/sched: Fix sched_fork() access an invalid sched_task_group") > Looks like after this change there is a time window, when > task_struct->se.cfs_rq can be NULL. This can be exploited to trigger > null-ptr-deref by calling setpriority on that task. > > Cc: Ingo Molnar > Cc: Peter Zijlstra > Cc: Juri Lelli > Cc: Vincent Guittot > Cc: Dietmar Eggemann > Cc: Steven Rostedt > Cc: Ben Segall > Cc: Mel Gorman > Cc: Daniel Bristot de Oliveira > Cc: Zhang Qiao > Cc: stable@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > > Link: https://syzkaller.appspot.com/bug?id=9d9c27adc674e3a7932b22b61c79a02da82cbdc1 > Fixes: c85c6fadbef0 ("kernel/sched: Fix sched_fork() access an invalid sched_task_group") The sha1 doesn't look correct. > Signed-off-by: Tadeusz Struk > --- > kernel/sched/fair.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 095b0aa378df..196f8cee3f9b 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -3042,6 +3042,9 @@ dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { } > static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, > unsigned long weight) > { > + if (!cfs_rq) > + return; > + > if (se->on_rq) { > /* commit outstanding execution time */ > if (cfs_rq->curr == se) > -- > 2.34.1 >