Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp2148995ybh; Fri, 24 Jul 2020 05:47:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJydNp55CPXZr2RPaMDVZ+4NcQE3u83/+jqKr6xqbUlIuorMdoxhpU15ehrbQ2qSQ6YeTJp8 X-Received: by 2002:a17:906:7005:: with SMTP id n5mr8554362ejj.130.1595594841828; Fri, 24 Jul 2020 05:47:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595594841; cv=none; d=google.com; s=arc-20160816; b=gyBzdRV459UlTii1ENVskVzmmZZ/DH2rUR6W9PGJKbLUHWAFWJDIfWft3nxgzzQLNa Z1YbTWlMONQo6Ki7C1NVawjyscbHNSV0yJgoiXXZJn2BVXrLWbNuMfzo3WR61QDXsMvo blz8WRyulBhU6iBa0ZY06jqfGhUwYZHFMwKaJdyF38xwuuXALAwATmC+l6YgoIX95XAn MxgZqVzStC2ZqV5eSdbCS7R99xlBZlG8N274mhN1ws1WgnBjWmUqe5OKY1/eosQ9EzYk pPCBZ2ZZuFoWnVdpvfBltnUa1Zrgfj8dbYdCTUIBPzliZYtg5OfdrcdjOnNjtu5hnhgu irqQ== 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 :robot-unsubscribe:robot-id:message-id:mime-version:references :in-reply-to:cc:subject:to:reply-to:from:dkim-signature :dkim-signature:date; bh=C8tcvUPdzu/dpvnVRJ/BNJQURDdRaa7DX0HCJ1EuwlQ=; b=J77Qaea+0o/2/ik4fHPlG/pTTuISIDmStsoKoDhcFJSQ5KSq5UPyEBIkirK6vhygUI i+QSQMUsddrPMAZ6YULBxCvA6M7wPHyspR8oBSmdaKKeG6ne4m7ENl5+IjBmQsaoJPv+ zExz/LnwBXmSCqF7vIhdI0oV3VZQqvObnCAfNljPObeFBtz2PQcDNqx4rqJC/LaC+V/0 xbtCsa2EfSkVDO0jVHrSYageApaLuGxaXoIl9Ro9MdKWB3Tfthsz2zFYomSjN+9yGNB2 q9GQw5Y920ugA6+7PG0gQFscaMxBicAjem9elW5ZvYVMoDKarICIziBg/9gRIl79sfuH 3zeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linutronix.de header.s=2020 header.b="O/LQKHVS"; dkim=neutral (no key) header.i=@vger.kernel.org; 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=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w2si439910edt.433.2020.07.24.05.46.59; Fri, 24 Jul 2020 05:47:21 -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=fail header.i=@linutronix.de header.s=2020 header.b="O/LQKHVS"; dkim=neutral (no key) header.i=@vger.kernel.org; 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=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727044AbgGXMoN (ORCPT + 99 others); Fri, 24 Jul 2020 08:44:13 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:37932 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726326AbgGXMoN (ORCPT ); Fri, 24 Jul 2020 08:44:13 -0400 Date: Fri, 24 Jul 2020 12:44:09 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1595594650; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=C8tcvUPdzu/dpvnVRJ/BNJQURDdRaa7DX0HCJ1EuwlQ=; b=O/LQKHVSil0JMFhrSDpMbv/bl0effPMah2m0N5nZJagkn9lCwFzSVGi/0s9JAv6POdci3V t2GWTlkqWzd0NIEu9V7BsGImGSzlh8e5Q84R38cuz/PbEVJw0PfQsP6j7ANlYY33nCmSq+ 3DM3sW3vvQ/4t+m92mBV44MUNtcqqpt4zipOZamEwbwwhl9qMJnF5br56an1HuEi5/60zV uwU8PGks4YES1AJSEf5uytRCwQU0Bk5wKFidAjfWVbKYmcy9q0VnqncG+aha/GyHItHQXE hjDT6sQ5j6JcHxtYCQT/G5LVhC76Mg9sk0me9XgNu7K+0f0cMZ8K1bgGUO8Zkw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1595594650; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=C8tcvUPdzu/dpvnVRJ/BNJQURDdRaa7DX0HCJ1EuwlQ=; b=KcT4s2eZBJpEi4d8u1Iv1f76sGNsbtvEgQaD02sItjwOb6GwT19MihOA9u+Ao+y80/wDAu TFhXKybAKHCNrUCQ== From: "tip-bot2 for Chris Wilson" Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: sched/urgent] sched: Warn if garbage is passed to default_wake_function() Cc: Chris Wilson , Ingo Molnar , Peter Zijlstra , x86 , LKML In-Reply-To: <20200723201042.18861-1-chris@chris-wilson.co.uk> References: <20200723201042.18861-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Message-ID: <159559464976.4006.16898442338271144341.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the sched/urgent branch of tip: Commit-ID: 062d3f95b630113e1156a31f376ad36e25da29a7 Gitweb: https://git.kernel.org/tip/062d3f95b630113e1156a31f376ad36e25da29a7 Author: Chris Wilson AuthorDate: Thu, 23 Jul 2020 21:10:42 +01:00 Committer: Ingo Molnar CommitterDate: Fri, 24 Jul 2020 14:40:25 +02:00 sched: Warn if garbage is passed to default_wake_function() Since the default_wake_function() passes its flags onto try_to_wake_up(), warn if those flags collide with internal values. Given that the supplied flags are garbage, no repair can be done but at least alert the user to the damage they are causing. In the belief that these errors should be picked up during testing, the warning is only compiled in under CONFIG_SCHED_DEBUG. Signed-off-by: Chris Wilson Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra Link: https://lore.kernel.org/r/20200723201042.18861-1-chris@chris-wilson.co.uk --- kernel/sched/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 5dece9b..2142c67 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4485,6 +4485,7 @@ asmlinkage __visible void __sched preempt_schedule_irq(void) int default_wake_function(wait_queue_entry_t *curr, unsigned mode, int wake_flags, void *key) { + WARN_ON_ONCE(IS_ENABLED(CONFIG_SCHED_DEBUG) && wake_flags & ~WF_SYNC); return try_to_wake_up(curr->private, mode, wake_flags); } EXPORT_SYMBOL(default_wake_function);