Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1412143pxa; Thu, 13 Aug 2020 08:04:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJ/LriI/ohkiwUqPeyRr3j+fbXDqmKlO+iiYzWetONXWCFvRPB6TrhoORj37giRSUbtyRf X-Received: by 2002:a50:ee92:: with SMTP id f18mr5161235edr.80.1597331093911; Thu, 13 Aug 2020 08:04:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597331093; cv=none; d=google.com; s=arc-20160816; b=jRWmo1BhU4MLN2aLPAblysagyqhLyt0bUkGlho0HytZ3Mv94csjd2ElmcGCkc4tuKI zLRpSMyPueLMfkxTwW4+5xKGYwSNMl3jyWDWIbnLsZokArxNAF5n5PykYvgtvCSQewCA tLkB6R3RvyfM5vPnnk+T3s9wXQUnr0dBQwCbICb+E4JKS05SmWzi688iE34tWde0OjLn QKQyrxb441i5m8b3k+6daS6SiQr/A/CVjyrpuM0BIKVwd3hjJfYMAmLjSfRLAJOQGwCz awUWbaB/6ds28CHKmeA7qGAbqHDloeVQ2F+h3kwBqM9TbWG6ZeGTxJ0RH3glJkjYf1is YG/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=flRsMXdeBdSKDUxyg/InWWvpY3aQexhxVV4OIDx99vs=; b=fUMf3+ihoFH96AYSAsUTViuXnHi3WjhTaWQCrZD9O0WEwu0Uw6NGGuq7saF2gPsf4x dsy+EJSWFKqg38lf46u/JqJ7f7kSR1fKC+XAN63Bi8QgLwI88p02GTvLjkK0mwzdhL9C M/yvQoDKbVSB6tLNPTs7NRcDkojWcKVW01eltshJnMYVyk44OYTg0zlh4sIHXUN00/yT x1xCpUolmK1S8tYAHmJnoN1ADzCLF2VD4xP+KHcI5ameE85eIDbidwTk4cU3sXNf9N+8 U20X5J9liuc8R7+pwWnU68/svw4F3n06wR4lSsCh3IC/UPSGkoG9igurnn30/g/lhdVL iNvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Dbr3n6KV; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s18si3337114eja.619.2020.08.13.08.04.30; Thu, 13 Aug 2020 08:04:53 -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=@gmail.com header.s=20161025 header.b=Dbr3n6KV; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726546AbgHMPDW (ORCPT + 99 others); Thu, 13 Aug 2020 11:03:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726167AbgHMPDW (ORCPT ); Thu, 13 Aug 2020 11:03:22 -0400 Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B76AC061757 for ; Thu, 13 Aug 2020 08:03:22 -0700 (PDT) Received: by mail-pf1-x444.google.com with SMTP id u20so2963544pfn.0 for ; Thu, 13 Aug 2020 08:03:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=flRsMXdeBdSKDUxyg/InWWvpY3aQexhxVV4OIDx99vs=; b=Dbr3n6KVHhPfrH6D/xgVwc0ZnBCYg2fepf9NzWSgU2YUZ/WIX1cBD4/LRctqOwpSsd 5/BK4ix3zDKoUMwo/wymFWreZQzGQdMlS6cMXTj5P4IELrn7orS9r8sCLvep/PkxRtuG 0cJ5JsZKP6csY4Y/KSmEgLHXE4E8Q9G6FnADD1Mks7tE+ceLi9GvGdSEGcMDFodJvfeA hwsdZFkdQ1T5k2l3jSogthX5RX9vbFUzHXJsOASwICUxPeY4kXvdt4Zhsq2IWG2Xln+X 4S+c4bcUcZVwnv2Tsw4R8acV9PmXqDaHDy/JQMNaTKilye9fBatceD5ofUyMaoRkbZxV XFqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=flRsMXdeBdSKDUxyg/InWWvpY3aQexhxVV4OIDx99vs=; b=L8SGag882L/XFB02Us9R2N89b3aItKUajsgGG2zbErXsOSguJ+a95jge8rrG5TUbqv J5Xb155x7Rm8kLXd/Ef5oeXyt3iuiqTxvU8J3BndWG6xo5o+AY/bU16qq2LaL6Di4Vn4 PTYS2+GBj2Y5RZ7ZCNqzJkB414R2ETPs0+l67k4FGHdw72w4tTXAd+leb+MPicqk51af W+VXEzGU1kgMCcqdQhd7p+6jgtuA6aE3xHpY3X2LDGqFT00QwuMImxRLCu2ANmEq8kio Btz2Y8a72bf7KTkOvRu0jv2p+iN6hBNOse4mc5w5nBI6db7nrGJRXnM3F4r6jn74/3KH VhCg== X-Gm-Message-State: AOAM5317b1561dBq/hRV964Jrr3BvGPbygqIxnXlT990zU4k+IO44fzy 9pDY+sqEqWvx8ZZRrxgxpLE= X-Received: by 2002:a65:52c3:: with SMTP id z3mr4105322pgp.417.1597331002054; Thu, 13 Aug 2020 08:03:22 -0700 (PDT) Received: from builder-PowerEdge-R730xd.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id x6sm6241114pfd.53.2020.08.13.08.03.20 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Aug 2020 08:03:21 -0700 (PDT) From: Qianli Zhao To: tglx@linutronix.de, john.stultz@linaro.org, sboyd@kernel.org Cc: linux-kernel@vger.kernel.org, zhaoqianli@xiaomi.com Subject: [PATCH v2] timer: Mask illegal set of flags in do_init_timer() Date: Thu, 13 Aug 2020 23:03:14 +0800 Message-Id: <9d79a8aa4eb56713af7379f99f062dedabcde140.1597326756.git.zhaoqianli@xiaomi.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Qianli Zhao do_init_timer() can specify flags of timer_list, only TIMER_DEFFERABLE, TIMER_PINNED, TIMER_IRQSAFE are legal do a sanity check, mask and warning illegal set of flags Signed-off-by: Qianli Zhao --- V2: - update changelog - mask and warning illegal set --- include/linux/timer.h | 1 + kernel/time/timer.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/linux/timer.h b/include/linux/timer.h index 07910ae..d10bc7e 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -67,6 +67,7 @@ struct timer_list { #define TIMER_DEFERRABLE 0x00080000 #define TIMER_PINNED 0x00100000 #define TIMER_IRQSAFE 0x00200000 +#define TIMER_INIT_FLAGS (TIMER_DEFERRABLE | TIMER_PINNED | TIMER_IRQSAFE) #define TIMER_ARRAYSHIFT 22 #define TIMER_ARRAYMASK 0xFFC00000 diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 026ac01..f7398ab 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -789,6 +789,8 @@ static void do_init_timer(struct timer_list *timer, { timer->entry.pprev = NULL; timer->function = func; + if (WARN_ON(flags & ~TIMER_INIT_FLAGS)) + flags &= TIMER_INIT_FLAGS; timer->flags = flags | raw_smp_processor_id(); lockdep_init_map(&timer->lockdep_map, name, key, 0); } -- 2.7.4