Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3889934pxv; Mon, 19 Jul 2021 11:12:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJytcsAK0z2IDkVmypwYZhPg1Ef9gamKLWAj8rYKg8mIef3f3el7wk+P7Aknx1ndUoce3UyT X-Received: by 2002:aa7:d1c4:: with SMTP id g4mr35862789edp.382.1626718279664; Mon, 19 Jul 2021 11:11:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626718279; cv=none; d=google.com; s=arc-20160816; b=ngFGneE+kwin9OAkFq1jds9lwbzsycKk72IPQ6FuROyIkToaqylGw81Bu36nsuLqDj ke3rgy0t8zM1D6uRTrzLTh2G74zfTirjJECUNX6CnXhjscnI/Zg+n/5jcOGYddzehnQg nb/hPqFS3F66SrCYiONek3NdiHqd+e+zsuSMF3jmR+euuvOYRS7dQnciWQZkAZRkD4rP u9HW9W3+r5o0Ww4pBCjaiaCJA0sd/debnzX0balOYtUSpws95RSMltG4TccB8Uc7XVli iy5ZTJMT67JylwxtZtexWnwBt7JsJYyUyY9qM5Wi9qSO5Hr+HaYWuPpUUH25INsh/uQb cXvQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=iTjMVgJ7wk4y5LnydZjxo/XqExltRtE4thGNlL3cP4Y=; b=K1Mwi04N8UJOkYkWuwVXmV/xgYvxwxU6hyCiw+AoddwFld713YEOwh5yRh2K7SyBuO UXC/Pfrs84jVzVr5u+5FdgMR4vn7PzuPUgQZFKlVujIcYDY5BH8D77AyWxZWhNDaJkYq UQt/luS2hOIIpuk08+U/ikO47g7+vnyxYRbWKXJ6lfzmAO9N6tPe1Lje0C2gA6/4/uKj 5ywDuKWoXSvzhxpBSpbU36a6a5L9hD/poVe7al4d7Tenv2UYOSfq6x2jLDUsIcooiBc1 qv26UB7gzBUVrDx7cU8Ekb82em4J2nzhfNm/+jyAcdEOghASvoC1+vMvOx8cNjXRxaHJ FS2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="fGC/OHDB"; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 18si23010958ejj.476.2021.07.19.11.10.56; Mon, 19 Jul 2021 11:11:19 -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=@linuxfoundation.org header.s=korg header.b="fGC/OHDB"; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377496AbhGSRZb (ORCPT + 99 others); Mon, 19 Jul 2021 13:25:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:46076 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349483AbhGSPpH (ORCPT ); Mon, 19 Jul 2021 11:45:07 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A6A9761404; Mon, 19 Jul 2021 16:25:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626711907; bh=Hmk2V+O0nQ1niaTHwAzt3793THZgc5AyJKvgRun1ZJI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fGC/OHDB+cDudzpYk3j2B2AzPU28WmQAGADt4RBen52aUx7g4HJD0iMJJJHIvRekL /JEcd1JvaHNvZGTrPcyeX2+PAFGlJe7Fm6zxZiGwUXeTEJovfh8ZxT6uMMJ2CVjCol H7jOg5ZSp1TZ3RLYYWKjeTnxIjujIR+4V9chu0pg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Petr Mladek , Miroslav Benes , Jon Mediero , Jessica Yu , Sasha Levin Subject: [PATCH 5.12 176/292] module: correctly exit module_kallsyms_on_each_symbol when fn() != 0 Date: Mon, 19 Jul 2021 16:53:58 +0200 Message-Id: <20210719144948.284861956@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.514164272@linuxfoundation.org> References: <20210719144942.514164272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jon Mediero [ Upstream commit 2c0f0f3639562d6e38ee9705303c6457c4936eac ] Commit 013c1667cf78 ("kallsyms: refactor {,module_}kallsyms_on_each_symbol") replaced the return inside the nested loop with a break, changing the semantics of the function: the break only exits the innermost loop, so the code continues iterating the symbols of the next module instead of exiting. Fixes: 013c1667cf78 ("kallsyms: refactor {,module_}kallsyms_on_each_symbol") Reviewed-by: Petr Mladek Reviewed-by: Miroslav Benes Signed-off-by: Jon Mediero Signed-off-by: Jessica Yu Signed-off-by: Sasha Levin --- kernel/module.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/module.c b/kernel/module.c index 260d6f3f6d68..f928037a1b56 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -4410,9 +4410,10 @@ int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *, ret = fn(data, kallsyms_symbol_name(kallsyms, i), mod, kallsyms_symbol_value(sym)); if (ret != 0) - break; + goto out; } } +out: mutex_unlock(&module_mutex); return ret; } -- 2.30.2