Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp42361pxb; Tue, 12 Apr 2022 16:15:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzjny0fpLONbpgFhxrrfKhwCABBBj2olnl7SaPqjzK1vprroLyyDQvpKnoxUvKgZgU3OmfS X-Received: by 2002:a17:903:c2:b0:158:5842:2b3a with SMTP id x2-20020a17090300c200b0015858422b3amr13943864plc.126.1649805300880; Tue, 12 Apr 2022 16:15:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649805300; cv=none; d=google.com; s=arc-20160816; b=JuEyMqftEFaybCX1Hyo8OV/4HnKdfQCO6WbmFn4CMXPtz3gR78JjKowCRLYmSzuWO0 zh5rXPgI8gfxiDBiP071aobrpzjVGG9q3D9P3T5EngtkEz9h7HgwgewnPEbClCYI2X+y WUjLcCOFZqSaT5hidsQV85JpWGAU2ct/Q8wCxBxmIEQqgDFTbPvcieG3ocjwCjQECXsZ dIvnf3brCIw/sR/LT5uK88uMv2hk37jvJKbWHkG2VH87G9G/Y15SRCglosfGsQiQC/64 U/f7fkK0AsBHN6CygCqcTkE9Aj5g6AIlCvN4QKMJy8STu7yVmIz5RgyOzblO3QRXWdqs pmzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qc/SIxza+IubxEP4yXfT8Zz8+YRWcFVHBKGRjZPYOvs=; b=kGDTLuOBkvBnBljFzPxQ8HAmQ1ECS4fsOIhe0WXkaXEXAsBOU7gUrGJgRlg34BPYF0 /U609ON7QO2hdVazYQly4l6ItBowPt3369sGFonRo6A98wMSfUbx6HqfTlwsiyFC/0oq jiXI+3XKFHU9Tg1ghkoVjKtY9DQLwJKZCmh9nUWvgTrjHXdSdV/L4foqXPeTqGrOHRlz zF/IltM1Ecl9HvQCxodd0by2+z3N9QJ8q5h1gleROzivPBj3cp+3lQ+SWo/KbO2VcjSQ ONkn3Ikke+z0b1t0RPe1uR81tYMVD+EXzlnjueMD/a0YDFPJIbt+qDyVl4rcYIIpGpur fWCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=SJSmU6oK; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id r8-20020a63fc48000000b0039d300cade6si3926505pgk.679.2022.04.12.16.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 16:15:00 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=SJSmU6oK; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CF10312E763; Tue, 12 Apr 2022 14:59:11 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237425AbiDKXlm (ORCPT + 99 others); Mon, 11 Apr 2022 19:41:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235458AbiDKXl3 (ORCPT ); Mon, 11 Apr 2022 19:41:29 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C2F935FA3; Mon, 11 Apr 2022 16:39:08 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: dmitry.osipenko) with ESMTPSA id C95061F42D8E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1649720347; bh=rE0gdUKO6u30HOCK7SRHP3k8mtmvbpif5A95yZ2p3PY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SJSmU6oKbkFC6qk9sybOhccgA1atA5HyHj9VJAk88lQAsecmxdmA17ulTzp9683gp 3vvsylERM3jM7PfChQeyikquTNyomgu9L0dM6z5jWDLf7AkJde6s6TIy7519BeSnHm vWXb0a9E/FmK1dCJ+iVzrWJQVpDkGXV6OZj6kwjzy0WpVHQGVPdlJ0erRQKcEEVLzZ NMX8OnKdNZXojrijEe5Kotjsc4Lw48okU7YRg9wdcDqBKaKTiihn+rofo2Thu68Mgf h+j91GOmW1cnm2aInltn36l/ppfnQj/Gy1giIPmB2j1gIxRgkUPlkMmqWU4NySu1Bf 8/zXD+vGFWRdQ== From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Russell King , Catalin Marinas , Will Deacon , Guo Ren , Geert Uytterhoeven , Greg Ungerer , Joshua Thompson , Thomas Bogendoerfer , Sebastian Reichel , Linus Walleij , Philipp Zabel , Greentime Hu , Vincent Chen , "James E.J. Bottomley" , Helge Deller , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Paul Walmsley , Palmer Dabbelt , Albert Ou , Yoshinori Sato , Rich Felker , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Boris Ostrovsky , Juergen Gross , Stefano Stabellini , "Rafael J. Wysocki" , Len Brown , Santosh Shilimkar , Krzysztof Kozlowski , Liam Girdwood , Mark Brown , Pavel Machek , Lee Jones , Andrew Morton , Guenter Roeck , Daniel Lezcano , Andy Shevchenko , Ulf Hansson , =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= Cc: linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v7 03/20] reboot: Print error message if restart handler has duplicated priority Date: Tue, 12 Apr 2022 02:38:15 +0300 Message-Id: <20220411233832.391817-4-dmitry.osipenko@collabora.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220411233832.391817-1-dmitry.osipenko@collabora.com> References: <20220411233832.391817-1-dmitry.osipenko@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add sanity check which ensures that there are no two restart handlers registered using the same priority. This requirement will become mandatory once all drivers will be converted to the new API and such errors will be fixed. Signed-off-by: Dmitry Osipenko --- kernel/reboot.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kernel/reboot.c b/kernel/reboot.c index ed4e6dfb7d44..acdae4e95061 100644 --- a/kernel/reboot.c +++ b/kernel/reboot.c @@ -182,6 +182,21 @@ static ATOMIC_NOTIFIER_HEAD(restart_handler_list); */ int register_restart_handler(struct notifier_block *nb) { + int ret; + + ret = atomic_notifier_chain_register_unique_prio(&restart_handler_list, nb); + if (ret != -EBUSY) + return ret; + + /* + * Handler must have unique priority. Otherwise call order is + * determined by registration order, which is unreliable. + * + * This requirement will become mandatory once all drivers + * will be converted to use new sys-off API. + */ + pr_err("failed to register restart handler using unique priority\n"); + return atomic_notifier_chain_register(&restart_handler_list, nb); } EXPORT_SYMBOL(register_restart_handler); -- 2.35.1