From nobody Mon Dec 1 22:37:15 2025 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) (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 068DF3242B2 for ; Wed, 26 Nov 2025 11:37:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157055; cv=none; b=DZHbgJ1IB0JHl6I5Tswt2fbDGzvY/ox+b7g7lTq9JVh58APO21TfXQXahHqilubXTsA77raLLMNV0dML8ajsiEvYBvo4Ht2CGpedJ8E7pmRnclD9vChpMt/UJ9jiJ6yxgGLkECpmYoI0njWVETTvw7b736hePDIRisPKgCgjHA4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157055; c=relaxed/simple; bh=k9rf1evcgOHbfI52abG6ZM4IatEIxMqcv9QQySq3Zww=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gSUINh6pZdD9ErBWiwGj687e9rH3n0M3aP83WgDGFseMwvSmupzxn5avv3SAgxYmEn7FBy+pmL1JL9tZ2lC6ZkqRHxiCEuXv5Ba3ohfHbTBPu6RgcSIGc6vS+IWyTmK7qGKNkeT0fJ5rTu8X4aryqke/Y4sd1NdndJeoZgdtR/4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ZjJzbvuy; arc=none smtp.client-ip=192.198.163.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ZjJzbvuy" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764157054; x=1795693054; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=k9rf1evcgOHbfI52abG6ZM4IatEIxMqcv9QQySq3Zww=; b=ZjJzbvuyaCHGJNXLbYw8NdhSoR9UREujIHh9GBL0SUYUvZFbgYOo6frN k2fXdRwyCE82eT9La2G7I7v5GhGBGjSRoB4Gu8Pnra/S5Vw1ilFGyrsG/ tobGdYYg3yljjbo7QtPbto+KiloWlb8CXs7YpG+RMCkCWH5mjaF8JczvV Ssyy9KEWRMXzQjhqTcAUKLRZT8r+2mVbARJ0FBKzvaexgBrQUvCWWc8WV 2LZGHGs/NdghB+mJjH6UB7hOeL3uTB7atsfHrK/gU3nQ6iPN5e9hhg5tm +5Qw1aZkeHGBuQ0vR7s7UD53g9HGX7DivG9LlKBhXWrjV9XRExgKWoXRs A==; X-CSE-ConnectionGUID: ADBHLXn/Q3aZqTgj1+r9tA== X-CSE-MsgGUID: yPjSslXrSBifVOcEgbqBMA== X-IronPort-AV: E=McAfee;i="6800,10657,11624"; a="66232838" X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="66232838" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:33 -0800 X-CSE-ConnectionGUID: A72E+rh1TGW25s19+VobVA== X-CSE-MsgGUID: 7dNS3MmkTkKzlCA3VQtVgQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="192804445" Received: from lab-ah.igk.intel.com (HELO [127.0.1.1]) ([10.211.135.228]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:30 -0800 From: Andrzej Hajda Date: Wed, 26 Nov 2025 12:35:49 +0100 Subject: [PATCH 1/3] printk: add macros to simplify handling struct va_format Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251126-va_format_call-v1-1-8a604a331730@intel.com> References: <20251126-va_format_call-v1-0-8a604a331730@intel.com> In-Reply-To: <20251126-va_format_call-v1-0-8a604a331730@intel.com> To: Petr Mladek , Steven Rostedt , John Ogness , Sergey Senozhatsky , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , Christoph Lameter , David Rientjes , Roman Gushchin , Harry Yoo Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrzej Hajda X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2003; i=andrzej.hajda@intel.com; h=from:subject:message-id; bh=k9rf1evcgOHbfI52abG6ZM4IatEIxMqcv9QQySq3Zww=; b=owEB7QES/pANAwAKASNispPeEP3XAcsmYgBpJuYxH0bYKsvR3i+lxG/l3jrDVxriqdFXPMXak P8UotHxgOmJAbMEAAEKAB0WIQT8qEQxNN2/XeF/A00jYrKT3hD91wUCaSbmMQAKCRAjYrKT3hD9 1/q6C/43BTWbOq9jSZxlivOSeTr9vqXUaAzZvFq2HvmBVuNfpUHGUyro3lyoJ8JKJ2C9Zsx6NRy RuT3AYLODLgUyoW3o5yWlolArXSJn13CQGOPpzRQepvWO4NXdeeoeCnUuaQgR6e+xIMPvhPW6Ke mzXdTWT4LbMs+1Uv5U3QIc0GDpqqxqbQT9LVL2OIFOxjanUshofUOVbU56Qu63f4R/V1+qDjW7K oqWPxqoCLdvup6rD3fI2nFqh+7Tfbp+hPLHrmRVfqcrJHqKWklsLI7iC9t6EhsMiR1ULxiSVWzF d8ODZbjEdVlQGtAdry26N6CXO4JcgNZDwWpQfphK5GLsDh0f/Q+oe3q0HuVcA8O1ITAl6aNq9TQ JVMBNovmp9bc34QPml9SoM2ew0ol8Xogj9Dun64/yG8C9aDfk4ZUMX6gyb2BjG3l9ISa7KdoTK0 WIpahnhKZILdUG+iWxSAVw6tAx9kXYVU68LSp5ldmZrA7GIj3fKqUx3xIZWKRcd1xnSh0= X-Developer-Key: i=andrzej.hajda@intel.com; a=openpgp; fpr=FCA8443134DDBF5DE17F034D2362B293DE10FDD7 struct va_format is used to facilitate implementation of variadic functions. Most of variadic users do not parse arguments one by one, they just forward them to some helper via va_format pointer. Introduced helpers simplifies it more. Signed-off-by: Andrzej Hajda --- include/linux/printk.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/include/linux/printk.h b/include/linux/printk.h index 45c663124c9bd3b294031d839f1253f410313faa..6fd817ce29a66b33a804b660c2b= 770efa110ee7e 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -87,6 +87,36 @@ struct va_format { va_list *va; }; =20 +/* Special macro used only by callers of va_format_call to position va_for= mat argument */ +#define va_format_arg (&vaf) + +/** + * va_format_call() - forward variable arguments to va_format aware functi= on + * @_fmt: format used by @_func function + * @_func: function which should be called + * @_args: arguments passed to @_func. Exactly one of them must be va_form= at_arg, + * to indicate position of *va_format type arg in arguments of @_f= unc. + * + * Many variadic functions just forwards their variadic arguments to some = helper + * function via va_format pointer. It involves few common steps encapsulat= ed in + * this macro. The macro is accompanied by va_format_arg macro, described = above. + * Sample implementation of common helper: + * void dev_err(struct device *dev, const char* fmt, ...) + * { + * va_format_call(fmt, pr_err, "%s %s: %pV", dev_driver_string(dev), + * dev_name(dev), va_format_arg); + * } + */ +#define va_format_call(_fmt, _func, _args...) \ +({ \ + va_list ap; \ + struct va_format vaf =3D { .fmt =3D _fmt, .va =3D &ap }; \ + \ + va_start(ap, _fmt); \ + _func(_args); \ + va_end(ap); \ +}) + /* * FW_BUG * Add this to a message where you are sure the firmware is buggy or behav= es --=20 2.43.0 From nobody Mon Dec 1 22:37:15 2025 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) (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 0B31E3176E4 for ; Wed, 26 Nov 2025 11:37:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157059; cv=none; b=aQFCNcRqycWlzgu5y5EysppcqOgGRyV677ROsh9ny4JK7Ks0JFfPta3i6ELGoLDXzGYSortbIhskvgA4kvgZmIJocgvN+e9N9ObqQV8D3ruh4vmZKM05tUX7m8i0/XRQ7o6vps9jJ+jNIu9i3bWcClNOEVLr8IZxYOdwlyuk7as= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157059; c=relaxed/simple; bh=A6Bkc1CjCNGEUzmB+vj+9g0+vnekqJoz4ZJmkOXuFtA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=R1vrNq2ls0sAXr8uOqBD1upjuOE7Gr0y0P4fVgLlPyiSLSfO5bMSrJuS3GG1b0VoLu4Tr4/TxtrRc7b2Yje8sGL+SaS66U3js3yjqx3rVx/QSeimn3NhTceBFiVbd+xreeU7siu3+dtf1TMalSPvSkuTQLBko94dBzSP1ny+MxM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Lt0KLbw9; arc=none smtp.client-ip=192.198.163.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Lt0KLbw9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764157058; x=1795693058; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=A6Bkc1CjCNGEUzmB+vj+9g0+vnekqJoz4ZJmkOXuFtA=; b=Lt0KLbw9ozM1zOcVG35LamvwLM2q8dXN4Qlpd+JYb6Vmi2A9jlGgDj3p 1vC7FpPSGt3OW7Y1uxe/yoH7Q3ODRSJbNCKpMGLeh8VC+LHkRZke4fZap 9Nh8qg5RJLpNkRG+4VPoJCKSGJKdUmkPycItFN4P8KYp3goNgMkJZlaiO qA1ZiH/A0XXi2V3stRuyuEM3jaWQqlCzCIATx7KUIRALD0t/tBl5pwfhe EARqBKURCsiQLXZkg7c+KJP6uzes6fPevWPe3cANGgpjBSi/ObAS+QJYt zFSEsa+IsDVGPHP2kBw+XzptrcYp/JXuDNbsYU7LpxBOZ8qnxXbk433eM g==; X-CSE-ConnectionGUID: UlDhZa/rSK6dU6+gYHQO0g== X-CSE-MsgGUID: gNiHH9Z7QvaJf24428dKIA== X-IronPort-AV: E=McAfee;i="6800,10657,11624"; a="66232851" X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="66232851" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:37 -0800 X-CSE-ConnectionGUID: LrXXAq9MQ7Gkn5yHbAD75g== X-CSE-MsgGUID: UuySfMbhRPiLFh6bfyX23Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="192804450" Received: from lab-ah.igk.intel.com (HELO [127.0.1.1]) ([10.211.135.228]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:34 -0800 From: Andrzej Hajda Date: Wed, 26 Nov 2025 12:35:50 +0100 Subject: [PATCH 2/3] drivers/core: use va_format_call helper Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251126-va_format_call-v1-2-8a604a331730@intel.com> References: <20251126-va_format_call-v1-0-8a604a331730@intel.com> In-Reply-To: <20251126-va_format_call-v1-0-8a604a331730@intel.com> To: Petr Mladek , Steven Rostedt , John Ogness , Sergey Senozhatsky , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , Christoph Lameter , David Rientjes , Roman Gushchin , Harry Yoo Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrzej Hajda X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1601; i=andrzej.hajda@intel.com; h=from:subject:message-id; bh=A6Bkc1CjCNGEUzmB+vj+9g0+vnekqJoz4ZJmkOXuFtA=; b=owEB7QES/pANAwAKASNispPeEP3XAcsmYgBpJuYyDtL0VgLHVzzLLiSjzMrHZZFBQRys/yRak H8GvM6ocCWJAbMEAAEKAB0WIQT8qEQxNN2/XeF/A00jYrKT3hD91wUCaSbmMgAKCRAjYrKT3hD9 1xkoC/45tS8nQSASXUWhuQoKU/MW/2j9k9Mx4OMjbIOgyk7HkimPpdX+VgwtbQW04GRZGu9rbe1 VVhVP4HdZRUXM9rj7ODdHZabROk6p+o9VLLR7dn19NZ/2tTX17j6nw3PcySWMEcjWRuV9v+6S9/ t4ki4HIGFdOV8vzAhKhmiqIx25bjwRQ+m24bi7ugPy92N/BShrlhvgBz20ULtxbfcH+DOI5djlf C934uRyzDcE/LBcnR224AQOm4Xkcs187FhZmLyF6Bly0a9alGSd5ylGj8fhBPcE4HT4V+dNTD6o U48gDC0ZhR5eFCqmEoJZy2jA53gblIu3MbIQmKv6HYqhSRxk/xRC3UcTLiF4qYvkyKrm/IBVRWM eA/hcxxxXWNDpDS9x8BezOVNTxqd9ePzyUWU/nraYu/wshU+eL9Dwap6VlG/OWCkA3h1K1Sdw3u I5SFU5wqJkdKVNomWL6tYrxGgmmk1znFdaYC2SQb6kojMXvBocZoKB2PDpDiJ/P34yrrQ= X-Developer-Key: i=andrzej.hajda@intel.com; a=openpgp; fpr=FCA8443134DDBF5DE17F034D2362B293DE10FDD7 It simplifies the code and makes it more clear. Signed-off-by: Andrzej Hajda --- drivers/base/core.c | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index f69dc9c8595455d85bf7eda5d4abce1ed7cb5166..513e5ef8a6dabaec0aee0778c13= 38a9d72e66892 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -4943,35 +4943,15 @@ static void __dev_printk(const char *level, const s= truct device *dev, void _dev_printk(const char *level, const struct device *dev, const char *fmt, ...) { - struct va_format vaf; - va_list args; - - va_start(args, fmt); - - vaf.fmt =3D fmt; - vaf.va =3D &args; - - __dev_printk(level, dev, &vaf); - - va_end(args); + va_format_call(fmt, __dev_printk, level, dev, va_format_arg); } EXPORT_SYMBOL(_dev_printk); =20 -#define define_dev_printk_level(func, kern_level) \ -void func(const struct device *dev, const char *fmt, ...) \ -{ \ - struct va_format vaf; \ - va_list args; \ - \ - va_start(args, fmt); \ - \ - vaf.fmt =3D fmt; \ - vaf.va =3D &args; \ - \ - __dev_printk(kern_level, dev, &vaf); \ - \ - va_end(args); \ -} \ +#define define_dev_printk_level(func, kern_level) \ +void func(const struct device *dev, const char *fmt, ...) \ +{ \ + va_format_call(fmt, __dev_printk, kern_level, dev, va_format_arg); \ +} \ EXPORT_SYMBOL(func); =20 define_dev_printk_level(_dev_emerg, KERN_EMERG); --=20 2.43.0 From nobody Mon Dec 1 22:37:15 2025 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) (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 038ED324B27 for ; Wed, 26 Nov 2025 11:37:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157063; cv=none; b=F2Kt0RYwKXD0obbESM2WOVQy77xftg9sY7EnHPlS4IMLIXPjBl6wT/zgfyWi//mgBh93RjGSc/foN+wi9yR8AfurnPgSEiLM0Kt8MDNA1ywFGa25Yyy0Owqr1A+5XIM+nlDJqZ3mDKAvNb3alzL0t+SqeMyMTRosdEu1USE2QVc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764157063; c=relaxed/simple; bh=jgD1fW2/HmiwQtjECStW5RTYnv3ytPfWP7KQC+fNINs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=I4Wl7oVGMcy0FjUIxXzD7KelRgCUz3HoCbvktDuuWzgUx72ULabldYLp6xMBbxq2KOmfkAYJE94ycl4IwD70MBjpPuFxoIyrKpWJZ5iB6utxGJS2abCrIJCa4836FxiEwboIcWOIETqDEisi1Ia8GHI8lXx/n2E23ZNRj4BgmvY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=S5l1jj/b; arc=none smtp.client-ip=192.198.163.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="S5l1jj/b" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1764157062; x=1795693062; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=jgD1fW2/HmiwQtjECStW5RTYnv3ytPfWP7KQC+fNINs=; b=S5l1jj/bRB/InSbpNqzYvKiHl37gN8fhV1EJKKkwB7/y/WdJovO38x0K L3y/JClTOzYtDIROgdz4LjlOBjy+fR+fmdvvN8PoINOcxIEnMtUkZnyPC 7Ro2EFr62gyDIcmczS0aHSZJlUz6BxbTMd8ltewVslr6CUqpjtn3tnF3P v/NxIKfkdVp4SLdLOnanpK83I2sC1vUpa3o5yusqo5ZRqPYbrp/vAe3HC KJQpXCeZM/nL9fr9XyV+0Pk09SENNF/Ngx/ybTegysuMxH0Nu6UYmHFOt Mncv3aUIpFIZ7lvSVAQO2XdfOrPcMo8Pw0X8y0aSp5jPQl9Obs9glNBvj g==; X-CSE-ConnectionGUID: dQQbn3FJS/mmSZG+hfFOpA== X-CSE-MsgGUID: lUAhx9MmRnCqY7tQxInBuw== X-IronPort-AV: E=McAfee;i="6800,10657,11624"; a="66232862" X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="66232862" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:41 -0800 X-CSE-ConnectionGUID: Wjwwe9UtSAuXoLbp68iXYA== X-CSE-MsgGUID: +97oJy7dTB6CO2q43/wzxA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,228,1758610800"; d="scan'208";a="192804460" Received: from lab-ah.igk.intel.com (HELO [127.0.1.1]) ([10.211.135.228]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2025 03:37:38 -0800 From: Andrzej Hajda Date: Wed, 26 Nov 2025 12:35:51 +0100 Subject: [PATCH 3/3] mm: use va_format_call helper Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251126-va_format_call-v1-3-8a604a331730@intel.com> References: <20251126-va_format_call-v1-0-8a604a331730@intel.com> In-Reply-To: <20251126-va_format_call-v1-0-8a604a331730@intel.com> To: Petr Mladek , Steven Rostedt , John Ogness , Sergey Senozhatsky , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , Christoph Lameter , David Rientjes , Roman Gushchin , Harry Yoo Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrzej Hajda X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2042; i=andrzej.hajda@intel.com; h=from:subject:message-id; bh=jgD1fW2/HmiwQtjECStW5RTYnv3ytPfWP7KQC+fNINs=; b=owEB7QES/pANAwAKASNispPeEP3XAcsmYgBpJuYy2Ei6pVpq+iRT+RUcGLhV1Bwx4jcAkAWTh a8DmOLnXkCJAbMEAAEKAB0WIQT8qEQxNN2/XeF/A00jYrKT3hD91wUCaSbmMgAKCRAjYrKT3hD9 1/1gDACkRt84YmIuBQkH5H9hpmGVce17KJ4r7+jlDuEjOzARqk/eHfLsHXLwKmuPtk1ghXZg4AH 2ZWATLpMWyV32IszDPayMMeaTzZe9ZfLE/LIIzIoAlq+MEJP0HXUr/gmtV9isvmPeoqGBXj6zGK 56JRKibprYT36I0g2TN/vrk9ot80JF0LHoEZs+33/eeH3hd5MSV1u7RwSWscWIRYOR6PIwvrt9F 9IiN8zSF2DGAU/mobMIqc7P+niqk4xghBSzrJqmpX9vhFFcY1e0v9fBX2gAjCmGD61wrlcjELta YFPFj8D4317nIgLMz61sJa80287j76pv0vBF/sukBVuz9KGXewTz0URKupUMKJ73Av1pHaOBxTp T/R+akb79tvC73Pi/x+Gky32njCrMz9+ZG+OMHEkpOPUDaw01XB0KggMkkrllbR1KNGGb9H9HGO l54XNmeEiFrsyXFLPisGOsIR4J+mENyvMGsSe2B+enswYyDhaJqdYSKTIO8/K+vkZt5C4= X-Developer-Key: i=andrzej.hajda@intel.com; a=openpgp; fpr=FCA8443134DDBF5DE17F034D2362B293DE10FDD7 It simplifies the code and makes it more clear. Signed-off-by: Andrzej Hajda --- mm/page_alloc.c | 14 ++++---------- mm/slub.c | 10 +--------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index ed82ee55e66afffafcf6360b13da410119f2898d..cd0b17ea4de0a3262fae117fac7= f427a7396978f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3940,22 +3940,16 @@ static void warn_alloc_show_mem(gfp_t gfp_mask, nod= emask_t *nodemask) =20 void warn_alloc(gfp_t gfp_mask, nodemask_t *nodemask, const char *fmt, ...) { - struct va_format vaf; - va_list args; static DEFINE_RATELIMIT_STATE(nopage_rs, 10*HZ, 1); =20 if ((gfp_mask & __GFP_NOWARN) || !__ratelimit(&nopage_rs) || ((gfp_mask & __GFP_DMA) && !has_managed_dma())) return; - - va_start(args, fmt); - vaf.fmt =3D fmt; - vaf.va =3D &args; - pr_warn("%s: %pV, mode:%#x(%pGg), nodemask=3D%*pbl", - current->comm, &vaf, gfp_mask, &gfp_mask, - nodemask_pr_args(nodemask)); - va_end(args); + va_format_call(fmt, pr_warn, + "%s: %pV, mode:%#x(%pGg), nodemask=3D%*pbl", + current->comm, va_format_arg, gfp_mask, &gfp_mask, + nodemask_pr_args(nodemask)); =20 cpuset_print_current_mems_allowed(); pr_cont("\n"); diff --git a/mm/slub.c b/mm/slub.c index 1a5fc34290421ea32e6f5bba8acc87b53a9774b5..786c5a4195d44d5c40b3c9009ff= 52a3b836bfe23 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1161,17 +1161,9 @@ static void slab_bug(struct kmem_cache *s, const cha= r *fmt, ...) __printf(2, 3) static void slab_fix(struct kmem_cache *s, const char *fmt, ...) { - struct va_format vaf; - va_list args; - if (slab_add_kunit_errors()) return; - - va_start(args, fmt); - vaf.fmt =3D fmt; - vaf.va =3D &args; - pr_err("FIX %s: %pV\n", s->name, &vaf); - va_end(args); + va_format_call(fmt, pr_err, "FIX %s: %pV\n", s->name, va_format_arg); } =20 static void print_trailer(struct kmem_cache *s, struct slab *slab, u8 *p) --=20 2.43.0