Received: by 2002:a05:7412:b101:b0:e2:908c:2ebd with SMTP id az1csp2537791rdb; Wed, 15 Nov 2023 03:57:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IE5ALLDbrUtoVwvb3cTcQauwxsL/uZuJ0c0GvjFa9Th1lkW/UjfX97n6v1wCECkiLYy/U8Q X-Received: by 2002:a05:6830:446:b0:6ce:2c8e:79f0 with SMTP id d6-20020a056830044600b006ce2c8e79f0mr5479882otc.21.1700049423171; Wed, 15 Nov 2023 03:57:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700049423; cv=none; d=google.com; s=arc-20160816; b=Q0DiAQfyVohV7CuTzXqqTpZCHDHcFX3fh7TfJ0YJWcTZT201z58fWv8LKGVMpO9aR7 oYxdGb3j3LKwXt9r5yc3HIhIl95lBjMAlmwfjyYrNbnEk4SXSSc8J+ZN7WQLUxuCO06y t2aYjBpLx/r2L5pej31Cm+MpmBgzfbURhAj9RvykGvibYMUCnXcV4FHh6xo+sVDDG0PS b6KNdqFHd7/gdWua+OMvgu7r/5bgmuqwqnakg/XGMo521aWNBtCd4wQlMMP8lAU81QHw GfLO/lEAFuUpw0SngyiF7aOahHYcDnnzRtpT7Q8BaiYtr8ciKRRQUU9DcHws0GZywMwD MIQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=tjkATl27gsiP2WAkRI+7X5K1q8n2YgT9S/btb305JI8=; fh=j/kREyeCr5s/e7Pq4iRXz8Ga1C/dq/UsqsktITUVuWI=; b=LdClGSuFZDL7vEUCizH3u+YJEA9SX6YRCTqUcaZT7Bjfz4A40Pc6kx+QqMpx1lO1aX xhGOdYuice/pD8a9RqhAyQtvFm6uB9Va2V+GEhrNl0tjY6etR/9jASK69moTzmCPrpQn mSUL7yxJwmtPv/vzRYePc3jY8Ag4B6Ihf9v7pEQGo6GjvletJn6awrurD1aUS2al6P4q o4eIFs1fxZhEdwiS4tA1TFJBO1UhbUP6w/5AQg2LZzEXEs/7S0whK9tpgZv70mPFVhYT 4iekiTYQQjZz+0kXOoaK3RuHEm8xAiNw1UT2yncOxn6Q/5okg+xak4D7iimgZY9G9uNT ep4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eWb8rl9O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id b186-20020a6334c3000000b005c1b316d768si3986317pga.664.2023.11.15.03.57.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 03:57:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eWb8rl9O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 8E2E48027A5D; Wed, 15 Nov 2023 03:57:00 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343686AbjKOL4r (ORCPT + 99 others); Wed, 15 Nov 2023 06:56:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343678AbjKOL4p (ORCPT ); Wed, 15 Nov 2023 06:56:45 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0324F123; Wed, 15 Nov 2023 03:56:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700049402; x=1731585402; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=R0mXXm6p5XT6FEWcco9xQ+q5sm5FNZi/lrOuokDfPIc=; b=eWb8rl9OtUZZVvXTXmlmxxD2C9aHKr4f1FNKKHZ1O4d4yzRNdcZ0X5E3 Fea0TF0Z0nSMqX6EiSWqlYcGAIinfsiyBMHkGUiuhqI4gGl0lXvwGtVGP vUTG6h8gg99u/BK8dyF+0G08ABisQ53nVC6m3MXivYbhyKQNUUOUkatqX pHh5OTNsoptgDV3Vmg5mXxJFQlYsUb6S6WUMUOBFQo01UAohzpG71Kg5g UDqiDgpOf1RcC2vDK3bM9kp3MhJxIWYyD7IrmMF27Bd1Xmc9yXzvpsQdR UHv6kcHUeL4Pvp2ljd2/bu8wZbXjuggmJbL/rm8hibM74PhaARGmMXzWG w==; X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="393720233" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="393720233" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2023 03:56:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="908753522" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="908753522" Received: from mohdfai2-mobl.gar.corp.intel.com (HELO [10.214.157.166]) ([10.214.157.166]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2023 03:56:38 -0800 Message-ID: Date: Wed, 15 Nov 2023 19:56:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 net 6/7] net/sched: taprio: fix q->current_entry is NULL before its expiry Content-Language: en-US To: Vladimir Oltean Cc: Vinicius Costa Gomes , Jamal Hadi Salim , Cong Wang , Jiri Pirko , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org References: <20231107112023.676016-1-faizal.abdul.rahim@linux.intel.com> <20231107112023.676016-1-faizal.abdul.rahim@linux.intel.com> <20231107112023.676016-7-faizal.abdul.rahim@linux.intel.com> <20231107112023.676016-7-faizal.abdul.rahim@linux.intel.com> <20231109115527.loaz76xp5wxwbqav@skbuf> From: "Abdul Rahim, Faizal" In-Reply-To: <20231109115527.loaz76xp5wxwbqav@skbuf> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 15 Nov 2023 03:57:00 -0800 (PST) On 9/11/2023 7:55 pm, Vladimir Oltean wrote: > On Tue, Nov 07, 2023 at 06:20:22AM -0500, Faizal Rahim wrote: >> Fix the issue of prematurely setting q->current_entry to NULL in the >> setup_first_end_time() function when a new admin schedule arrives >> while the oper schedule is still running but hasn't transitioned yet. >> This premature setting causes problems because any reference to >> q->current_entry, such as in taprio_dequeue(), will result in NULL >> during this period, which is incorrect. q->current_entry should remain >> valid until the currently running entry expires. >> >> To address this issue, only set q->current_entry to NULL when there is >> no oper schedule currently running. >> >> Fixes: 5a781ccbd19e ("tc: Add support for configuring the taprio scheduler") > > The "Fixes" tag represents the commit where the code started becoming a > problem, not when the code that you're changing was first introduced. > > I find it hard to believe that the problem was in commit 5a781ccbd19e > ("tc: Add support for configuring the taprio scheduler"), because we > didn't support admin -> oper dynamic schedules back then. > My bad, will update accordingly. >> Signed-off-by: Faizal Rahim >> --- >> net/sched/sch_taprio.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c >> index 01b114edec30..c60e9e7ac193 100644 >> --- a/net/sched/sch_taprio.c >> +++ b/net/sched/sch_taprio.c >> @@ -1375,7 +1375,8 @@ static void setup_first_end_time(struct taprio_sched *q, >> first->gate_close_time[tc] = ktime_add_ns(base, first->gate_duration[tc]); >> } >> >> - rcu_assign_pointer(q->current_entry, NULL); >> + if (!hrtimer_active(&q->advance_timer)) >> + rcu_assign_pointer(q->current_entry, NULL); >> } >> >> static void taprio_start_sched(struct Qdisc *sch, >> -- >> 2.25.1 >>