From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from devianza.investici.org (devianza.investici.org [198.167.222.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23DD13955CD for ; Sat, 1 Aug 2026 22:58:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.167.222.108 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785625131; cv=none; b=MIhgq72O/9lBO5OjqyEkStE9tFeqtSr9YfL0vbgvHfvydlELdSJZ0pkugOUnNN+8+iUZ3uvLJznM7f7Fhvy6QnA/C/rxoSEOKE/dlZVJluRBsIXouiTSrRnSxVn9bZVaHV2mqxJYMJGjtcldXwZCXW7cv7oXbNN5x5Vlmb7fWsk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785625131; c=relaxed/simple; bh=IF1Byj/949mH99GJYplsEkAM8lesqWdBp0VW/uvoKNM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=c4doAoxDZH0tAKFllxXH+xkHuqpFzSHKbJvYmSRnVMXFlzt9npgGIenHnGBpzvvUgUv1B6eH2jrWMm28K6Q5VWoZ6nmOqqhDx70G+13B+S2vSb9pj3mad1HLZifU4zb6dMCxD93uttTlMlcAYUIik2J826UnSz9e8L04BWNgKgM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=grrlz.net; spf=pass smtp.mailfrom=grrlz.net; dkim=pass (1024-bit key) header.d=grrlz.net header.i=@grrlz.net header.b=aUb5cqr5; arc=none smtp.client-ip=198.167.222.108 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=grrlz.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=grrlz.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=grrlz.net header.i=@grrlz.net header.b="aUb5cqr5" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=grrlz.net; s=stigmate; t=1785625125; bh=mlMR6dV1R2H7hiEyxZNBF0iCtKsDIUi2XKd6K+4uHxM=; h=From:To:Cc:Subject:Date:From; b=aUb5cqr5IGJXtHkPTOVbuQxShAlp0ZOCYd6QcxEblLBt/+QiiFdlX4u6IxOAAzzAR /I/zE0ZHKUzhtn8fuMm/ALhd7dOGYZHwU8lxlIuNbtVIFsO1q5+MVcvbo4C9oXshL3 QS8hLTqAIs7t7MdWFizo/slfpp0X5jG2iGcn9EqY= Received: from mx2.investici.org (unknown [127.0.0.1]) by devianza.investici.org (Postfix) with UTF8SMTP id 4hCJJj6Yw5z6vK7; Sat, 01 Aug 2026 22:58:45 +0000 (UTC) Received: by mx2.investici.org (Postfix) id 4hCJJj3pNHz4y43; Sat, 01 Aug 2026 22:58:45 +0000 (UTC) From: Bradley Morgan To: bsingharora@gmail.com Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, Bradley Morgan Subject: [PATCH] taskstats: fold the two pid/tgid handlers into one Date: Sat, 1 Aug 2026 22:58:44 +0000 Message-ID: <20260801225845.23855-1-include@grrlz.net> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit cmd_attr_pid() and cmd_attr_tgid() are copy paste. fold them into one handler that takes the attr type and fill function as parameters, same pattern as the cpumask fold in 59c0bc949c5e. No functional change. Signed-off-by: Bradley Morgan --- kernel/taskstats.c | 47 ++++++++++++---------------------------------- 1 file changed, 12 insertions(+), 35 deletions(-) diff --git a/kernel/taskstats.c b/kernel/taskstats.c index 3ae1755ca1b5..8a816d903c24 100644 --- a/kernel/taskstats.c +++ b/kernel/taskstats.c @@ -474,7 +474,8 @@ static size_t taskstats_packet_size(void) return size; } -static int cmd_attr_pid(struct genl_info *info) +static int cmd_attr_pid_tgid(struct genl_info *info, int attr, + int (*fill)(pid_t, struct taskstats *)) { struct taskstats *stats; struct sk_buff *rep_skb; @@ -489,41 +490,15 @@ static int cmd_attr_pid(struct genl_info *info) return rc; rc = -EINVAL; - pid = nla_get_u32(info->attrs[TASKSTATS_CMD_ATTR_PID]); - stats = mk_reply(rep_skb, TASKSTATS_TYPE_PID, pid); + pid = nla_get_u32(info->attrs[attr]); + stats = mk_reply(rep_skb, + attr == TASKSTATS_CMD_ATTR_PID + ? TASKSTATS_TYPE_PID : TASKSTATS_TYPE_TGID, + pid); if (!stats) goto err; - rc = fill_stats_for_pid(pid, stats); - if (rc < 0) - goto err; - return send_reply(rep_skb, info); -err: - nlmsg_free(rep_skb); - return rc; -} - -static int cmd_attr_tgid(struct genl_info *info) -{ - struct taskstats *stats; - struct sk_buff *rep_skb; - size_t size; - u32 tgid; - int rc; - - size = taskstats_packet_size(); - - rc = prepare_reply(info, TASKSTATS_CMD_NEW, &rep_skb, size); - if (rc < 0) - return rc; - - rc = -EINVAL; - tgid = nla_get_u32(info->attrs[TASKSTATS_CMD_ATTR_TGID]); - stats = mk_reply(rep_skb, TASKSTATS_TYPE_TGID, tgid); - if (!stats) - goto err; - - rc = fill_stats_for_tgid(tgid, stats); + rc = fill(pid, stats); if (rc < 0) goto err; return send_reply(rep_skb, info); @@ -543,9 +518,11 @@ static int taskstats_user_cmd(struct sk_buff *skb, struct genl_info *info) TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK, DEREGISTER); else if (info->attrs[TASKSTATS_CMD_ATTR_PID]) - return cmd_attr_pid(info); + return cmd_attr_pid_tgid(info, TASKSTATS_CMD_ATTR_PID, + fill_stats_for_pid); else if (info->attrs[TASKSTATS_CMD_ATTR_TGID]) - return cmd_attr_tgid(info); + return cmd_attr_pid_tgid(info, TASKSTATS_CMD_ATTR_TGID, + fill_stats_for_tgid); else return -EINVAL; } -- 2.47.3