From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753122AbbEQQxn (ORCPT ); Sun, 17 May 2015 12:53:43 -0400 Received: from mail.efficios.com ([78.47.125.74]:33078 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751488AbbEQQxe (ORCPT ); Sun, 17 May 2015 12:53:34 -0400 From: Mathieu Desnoyers To: Ingo Molnar Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , Peter Zijlstra , Avi Kivity Subject: [RFC PATCH] Cleanup: preempt notifiers: disallow hlist_del within unsafe iteration Date: Sun, 17 May 2015 12:53:10 -0400 Message-Id: <1431881590-1456-1-git-send-email-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org preempt_notifier_unregister() documents: "This is safe to call from within a preemption notifier." However, both fire_sched_in_preempt_notifiers() and fire_sched_out_preempt_notifiers() are using hlist_for_each_entry(), which is not safe against entry removal during iteration. Inspection of the kvm code does not reveal any use of preempt_notifier_unregister() within the preempt notifiers. Therefore, fix the bogus comment. Signed-off-by: Mathieu Desnoyers CC: Ingo Molnar CC: Peter Zijlstra CC: Avi Kivity --- kernel/sched/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 57bd333..9edefec 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2119,7 +2119,7 @@ EXPORT_SYMBOL_GPL(preempt_notifier_register); * preempt_notifier_unregister - no longer interested in preemption notifications * @notifier: notifier struct to unregister * - * This is safe to call from within a preemption notifier. + * This is *not* safe to call from within a preemption notifier. */ void preempt_notifier_unregister(struct preempt_notifier *notifier) { -- 2.1.4