From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751665AbdLLL7G (ORCPT ); Tue, 12 Dec 2017 06:59:06 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:38263 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750749AbdLLL7C (ORCPT ); Tue, 12 Dec 2017 06:59:02 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20171212115900epoutp0159407bd25cde8a963975fe67ad148ea6~-ijB72Rro2822028220epoutp01H X-AuditID: b6c32a4a-b91ff70000001151-58-5a2fc484b0c0 From: Namit Gupta To: rostedt@goodmis.org Cc: mingo@redhat.com, linux-kernel@vger.kernel.org, pankaj.m@samsung.com, a.sahrawat@samsung.com, Namit Gupta Subject: [PATCH v2] ftrace/module: Move ftrace_release_mod to ddebug_cleanup label Date: Tue, 12 Dec 2017 17:24:32 +0530 Message-Id: <1513079672-13652-1-git-send-email-gupta.namit@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA0VSa0hTYRjm29nOTtLkMK2+Ftg6YZDm3BnbnLFlN2qUhFEQGrIO+rVZ7kzO 2TT7YSNGuJVprRsVZf2orCAzW+a8Li26oF1IzUpNutjVSu1HIrXtGP17nud9Ht7ve3gJTP5K oiAKWCfiWKaQwmPEgTuLk1I8Hak5am8tYXgSRIb2tocSw7PG07jhaVu1yDDw5abI0FI+JFqO mz0t/VLzaMtz3Hyw/jIwj9UlZIlzkNGGmHzEKRGb58gvYK0mav0myyqLTq+mU+h0QxqlZBk7 MlGrM7NS1hQUhndTymKm0BWWshiep1KXGTmHy4mUNgfvNFFbaVqjotVpKo1Go9LqcpdqdGHL NmS77h3Cig7Ido2f/SB2g/EYHyAISGrh756lPhBDyMkggFPNTUAgPwH8enhSLJBfAB558VTk AzOiiWOD/mlXM4BH3SdwgYwDeKG+AURcOJkMA3/8WATHk3Ng9b2ToogJI70A1pz5GB3EkZuh e+R0FIvJRHhzsgePYBm5Fr4/XwGEdQnw/l2/JBKG5A8J7B8axoTBavjg6ohUwHHw0736aayA Y9+acSFQCeCJw1ekArkG4E93UCy4MuBQX6c00gFGLobXGlMF2QQbm7qiH8XIWFgx+VYk1CSD 5fvkgiURNjzvkAryPHjqolqQzbD3+5vpp62An4+/k0SwnMyFrZUhUAUSTv7fVQ3AZTAXFfF2 K+J1RRoWlah4xs67WKsqz2GvA9HLSlrXAC50ZYYASQBqpqzWp8qRS5hivtQeApDAqHjZ/r2p OXJZPlO6G3EOC+cqRHwI6MJlHsIUs/Ic4TtlnRZam67W6vVptFqdrqXmyO7edmXLSSvjRDsR KkLcv5yImKFwg/Skc119Hv2NMlxZ3GN6lB3YWdO73ohGBvSjo4mmRT3Wqdaa7WWfO7sn5osn YkdMySmvb2+MI8oG93CcR5LIdsybvcSkKZniYrzVgWB5fu2G9ludJQPGlQvjnm1ZcDyzu6o7 wzfxkraN7Sjt7MBqrqi6Ky8pbMP+/sdntQNNBCXmbQydhHE88xfHI4rXbwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgluLIzCtJLcpLzFFi42LZdlhJXrf5iH6UweMTYhYXd6daHDxwmtXi 8q45bBaXDixgsrj3ZiuTxb6OB0wObB4t+26xe7zfd5XNo2/LKkaPz5vkAliiuGxSUnMyy1KL 9O0SuDI2dj5gLujhrfgy/zlLA+MXri5GTg4JAROJafcnM3YxcnEICexmlLhx8wUbREJaYmLz F2YIW1hi5b/n7BBFnxglPu1dzASSYBPQltj2fzJYkYiAuMSC47OA4hwczAL9jBKvOUHCwgJB EstWrGIHsVkEVCW2/r4GNp9XwF3i2aJeRoj5chInj01mncDIs4CRYRWjZGpBcW56brFhgWFe arlecWJucWleul5yfu4mRnC4aGnuYLy8JP4QowAHoxIP74YuvSgh1sSy4srcQ4wSHMxKIrzd TfpRQrwpiZVVqUX58UWlOanFhxilOViUxHmf5h2LFBJITyxJzU5NLUgtgskycXBKNTDKmIlV Cs0Uqvxm9zBTRSxErVc86MHd6L2vp8XHK7d0ypqIhIcteHQ3epvYYl5Xryl9fO/vG+WqVa/n X3CdR67EZ0XW/5/WLpdOHd7PsUQ7p5D3WLXsnheRqa1p95cc1RUscxAtX6DwTlG8h002L2pa o5PPEc3bly8pXpnitCy56GyixNLd1kosxRmJhlrMRcWJAOJ4ZHATAgAA X-CMS-MailID: 20171212115859epcas5p1c80cacda05c36d4ef2607df2450d4aa3 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-MTR: 20171212115859epcas5p1c80cacda05c36d4ef2607df2450d4aa3 CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20171212115859epcas5p1c80cacda05c36d4ef2607df2450d4aa3 X-RootMTR: 20171212115859epcas5p1c80cacda05c36d4ef2607df2450d4aa3 References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ftrace_module_init happen after dynamic_debug_setup, it is desired that cleanup should be called after this label however in current implementation it is called in free module label,ie:even though ftrace in not initialized, from so many fail case ftrace_release_mod() will be called and unnecessary traverse the whole list. In below patch we moved ftrace_release_mod() from free_module label to ddebug_cleanup label. that is the best possible location, other solution is to make new label to ftrace_release_mod() but since ftrace_module_init() is not return with minimum changes it should be in ddebug_cleanup label. Signed-off-by: Namit Gupta --- kernel/module.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/kernel/module.c b/kernel/module.c index 0d1cb8d..4be966a 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3523,6 +3523,7 @@ static int load_module(struct load_info *info, const char __user *uargs, unset_module_core_ro_nx(mod); ddebug_cleanup: + ftrace_release_mod(mod); dynamic_debug_remove(info->debug); synchronize_sched(); kfree(mod->args); @@ -3541,12 +3542,6 @@ static int load_module(struct load_info *info, const char __user *uargs, synchronize_rcu(); mutex_unlock(&module_mutex); free_module: - /* - * Ftrace needs to clean up what it initialized. - * This does nothing if ftrace_module_init() wasn't called, - * but it must be called outside of module_mutex. - */ - ftrace_release_mod(mod); /* Free lock-classes; relies on the preceding sync_rcu() */ lockdep_free_key_range(mod->module_core, mod->core_size); -- 1.9.1