Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1136808ybt; Tue, 7 Jul 2020 08:33:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1bD7xAlQhVSOJW46m0F+m02e8XQYJnl/rXc8DR7fxqcn11xgtg4dm3Aq4oO5I48CiL50g X-Received: by 2002:aa7:c1d8:: with SMTP id d24mr63365837edp.178.1594136024515; Tue, 07 Jul 2020 08:33:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594136024; cv=none; d=google.com; s=arc-20160816; b=HR1FG3Ot4jveP5CblgmKzWEYMxIPa26HRqtTdYRtSvMNXLupjHRXzeJ6KsmahNtApS dCdGQYeyPdkZQFCEPZ0Br0lCp5vH8PPkw24m/DZCwTtXNt59M1zyH8P71Dyf73ZIWV2I lXv9R3tJDEo99hHadr0fvLGx+Xd4vQ6PvhdmxCkDh1DpX+KC419xSOk8AW+uGH6Vw8W+ LAjI3j2Le3oqNUoDiDfQ0vA/OYQVC4Y3CJfHHMpgA5SNB12qnL0Ua8B0qnriAxFm5O8f IFWK8FxPgU3gglJwlQtjteFB0QHHuWa29skhf7svZ8huzcRddFGh4L9N8ieiqL4vTchn dYSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TjbyTY+Pxy41RAULfzQWy1MCQwzePaaQIctKYm4/PeM=; b=hwkaOYzaZU5BgS67WuTax3I7O4W8A18skRCynAjyqHE4Yny5RYOS6TcWcHfeDazjrx /Fg0AXJvz/RLI18OOw4Kog5pAdunnDCWCqetVty3zYhNtqIWwM5etm1DUqfZ21CD0qak +g4tAe2Xtz+PWLszfdBZneqQVfYZ5I3B/ZbPZ4BSC5VTuBRDg0JSjJXBqJYasK9CWXvv 94R2y8uc3DMKxHGTsqLC7f0kgAfve17NMMjJ1SSWkBmQxHB1u9EiYWWwRL9HHoHwsCwv peKqUcu72FRtGml4+qZ7NVIyz3X3vvNvDyDJSvZkv7RJc6J2IfTirnEwzrisoGO1hT8o Z1kA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EcWrcutZ; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p25si15188494edx.347.2020.07.07.08.33.20; Tue, 07 Jul 2020 08:33:44 -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=@kernel.org header.s=default header.b=EcWrcutZ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729123AbgGGPdQ (ORCPT + 99 others); Tue, 7 Jul 2020 11:33:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:32888 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729609AbgGGPUx (ORCPT ); Tue, 7 Jul 2020 11:20:53 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8A8A3206E2; Tue, 7 Jul 2020 15:20:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594135253; bh=2b7zMVe6mmI61iDQvqn+sLJjzEjTT4Vn1x0St9mH+Pk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EcWrcutZWRK1y0Cfc4JnMqDD6915iioeD6ZtnirJ4y71NvLQ8knBRj2PjZVwnESBB Px0dzbieH6RtW+FwdmJA1ni2za78zXD0bd7Q4AjF06FZE14QGstp5C2cmFanGVwvoi GHZyhbD6arYUe7Xplbw2nVR2oHoZOPmzvPD37rgo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Valentin Schneider , "Peter Zijlstra (Intel)" , Sasha Levin Subject: [PATCH 5.4 05/65] sched/debug: Make sd->flags sysctl read-only Date: Tue, 7 Jul 2020 17:16:44 +0200 Message-Id: <20200707145752.698910547@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200707145752.417212219@linuxfoundation.org> References: <20200707145752.417212219@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Valentin Schneider [ Upstream commit 9818427c6270a9ce8c52c8621026fe9cebae0f92 ] Writing to the sysctl of a sched_domain->flags directly updates the value of the field, and goes nowhere near update_top_cache_domain(). This means that the cached domain pointers can end up containing stale data (e.g. the domain pointed to doesn't have the relevant flag set anymore). Explicit domain walks that check for flags will be affected by the write, but this won't be in sync with the cached pointers which will still point to the domains that were cached at the last sched_domain build. In other words, writing to this interface is playing a dangerous game. It could be made to trigger an update of the cached sched_domain pointers when written to, but this does not seem to be worth the trouble. Make it read-only. Signed-off-by: Valentin Schneider Signed-off-by: Peter Zijlstra (Intel) Link: https://lkml.kernel.org/r/20200415210512.805-3-valentin.schneider@arm.com Signed-off-by: Sasha Levin --- kernel/sched/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index f7e4579e746c5..c4b702fe1d738 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -258,7 +258,7 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd) set_table_entry(&table[2], "busy_factor", &sd->busy_factor, sizeof(int), 0644, proc_dointvec_minmax); set_table_entry(&table[3], "imbalance_pct", &sd->imbalance_pct, sizeof(int), 0644, proc_dointvec_minmax); set_table_entry(&table[4], "cache_nice_tries", &sd->cache_nice_tries, sizeof(int), 0644, proc_dointvec_minmax); - set_table_entry(&table[5], "flags", &sd->flags, sizeof(int), 0644, proc_dointvec_minmax); + set_table_entry(&table[5], "flags", &sd->flags, sizeof(int), 0444, proc_dointvec_minmax); set_table_entry(&table[6], "max_newidle_lb_cost", &sd->max_newidle_lb_cost, sizeof(long), 0644, proc_doulongvec_minmax); set_table_entry(&table[7], "name", sd->name, CORENAME_MAX_SIZE, 0444, proc_dostring); /* &table[8] is terminator */ -- 2.25.1