From patchwork Mon Oct 24 11:30:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 9020 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp441345wru; Mon, 24 Oct 2022 06:05:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5bLO8GsqnaZi06Izd/Opz9mdfnS4Tx+A/SyIc5jC1EbMp1kTjZ39Kc+9/dy6bXNioWMgmM X-Received: by 2002:a05:6a00:1412:b0:557:d887:2025 with SMTP id l18-20020a056a00141200b00557d8872025mr33316702pfu.39.1666616747309; Mon, 24 Oct 2022 06:05:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666616747; cv=none; d=google.com; s=arc-20160816; b=oofCOmEiRvd4UcPdYrkHnSyT/rZh9FitpmMvtE33zK5t/YdrUtZh3r5Saj6aXqx/Rk S4wUkMsfcB5EiQs5gFZDR7eg2V7cO9ygHn+62eHNHoBHV/2sKeYn9EX01ss5Y6gG/i8f QrvjhQOEH6ktWDEs+u0SvW1MjK0Zf22qfXgWHAW3FVE4uyBOlhXgVk0RJrYjhR6pugac Vc16hVjjQTooIXPn8FnxdY87T3mr+LIVI4brFslBYj+y2sV9gzEsIgeOQfLv1uOWNCwW v8adO5G73th8hFvq4shAYicbq6cS8vE0L1I0vLgP0F0qYmqZP91c5LeZ4UsF3HhW8LRy gFSw== 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=NYq0Y4GBRPnQky3iM5aEqieQZ9EdIagmmjj6MPw7pME=; b=A5R6tZ3/6/hN5qjztDrdwBxPcOEK4b1sH2bqfkzi8H5FJrBDmmkj5ubKQtrqmcbmey T9+7Y/dIyhXWbWkv6MrYHcH5kBN9cpS5zhip73CvRqFtaRvpNzkMtNDOEzfghk2rDpmV anG2ABsJ9WIt7+Ol+GKlJShtkGJ3RlLpx33VVGejCWzJnYz+z8U0t/iw9hFXQ6NeJAve Vy9e/VoY+a2dsdf2E5SfWWx92t8CO76ln7Fy2wmwL9dM1CYMHe+0qCo9xhZRgaH/v3nu 2Hc8L7Z7ymM/XF1/PcEkiZ8rV9SgjksAWg4Glc7exFtyllYnQLrFK7zDm2URwKM3/TLz YVgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=0ELsrGy7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t32-20020a634620000000b0045d8554a062si34054391pga.56.2022.10.24.06.04.58; Mon, 24 Oct 2022 06:05:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=0ELsrGy7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S235245AbiJXNDx (ORCPT + 99 others); Mon, 24 Oct 2022 09:03:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235349AbiJXNAA (ORCPT ); Mon, 24 Oct 2022 09:00:00 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E0EE11819; Mon, 24 Oct 2022 05:19:31 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CF4386129D; Mon, 24 Oct 2022 12:10:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7ABDC433C1; Mon, 24 Oct 2022 12:10:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1666613440; bh=zAXf8WbaaT0rVM2JF9TeKwea6lfPVHe5p/pfXUS6HQI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0ELsrGy7SJu2tq0z/68Dp6IoA3yUKLKB0+48QUQinqpRGjHYcHGYz7AypjaCq0tAR v6nbBM9bq8o6CZOlDz3CNWssvC6Irs8WDbGs3rWZQxvFr7whKj+KIXmOYxfbhpHNE7 j6MZgGRc84AKL5BwD3t2sYbzYwxK068cE7rBTz0s= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jason Baron , Daniel Vetter , Jim Cromie , Sasha Levin Subject: [PATCH 5.4 138/255] dyndbg: let query-modname override actual module name Date: Mon, 24 Oct 2022 13:30:48 +0200 Message-Id: <20221024113007.162215977@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221024113002.471093005@linuxfoundation.org> References: <20221024113002.471093005@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747574322343356832?= X-GMAIL-MSGID: =?utf-8?q?1747574322343356832?= From: Jim Cromie [ Upstream commit e75ef56f74965f426dd819a41336b640ffdd8fbc ] dyndbg's control-parser: ddebug_parse_query(), requires that search terms: module, func, file, lineno, are used only once in a query; a thing cannot be named both foo and bar. The cited commit added an overriding module modname, taken from the module loader, which is authoritative. So it set query.module 1st, which disallowed its use in the query-string. But now, its useful to allow a module-load to enable classes across a whole (or part of) a subsystem at once. # enable (dynamic-debug in) drm only modprobe drm dyndbg="class DRM_UT_CORE +p" # get drm_helper too modprobe drm dyndbg="class DRM_UT_CORE module drm* +p" # get everything that knows DRM_UT_CORE modprobe drm dyndbg="class DRM_UT_CORE module * +p" # also for boot-args: drm.dyndbg="class DRM_UT_CORE module * +p" So convert the override into a default, by filling it only when/after the query-string omitted the module. NB: the query class FOO handling is forthcoming. Fixes: 8e59b5cfb9a6 dynamic_debug: add modname arg to exec_query callchain Acked-by: Jason Baron Acked-by: Daniel Vetter Signed-off-by: Jim Cromie Link: https://lore.kernel.org/r/20220904214134.408619-8-jim.cromie@gmail.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- lib/dynamic_debug.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index ccf05719b1ad..c9e1960fefc8 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -329,10 +329,6 @@ static int ddebug_parse_query(char *words[], int nwords, } memset(query, 0, sizeof(*query)); - if (modname) - /* support $modname.dyndbg= */ - query->module = modname; - for (i = 0; i < nwords; i += 2) { if (!strcmp(words[i], "func")) { rc = check_set(&query->function, words[i+1], "func"); @@ -381,6 +377,13 @@ static int ddebug_parse_query(char *words[], int nwords, if (rc) return rc; } + if (!query->module && modname) + /* + * support $modname.dyndbg=, when + * not given in the query itself + */ + query->module = modname; + vpr_info_dq(query, "parsed"); return 0; }