From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B11E1423A6A; Wed, 4 Feb 2026 15:23:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770218598; cv=none; b=InZ/apKD/lk+GJPsp+8QWs9vpp1Q4M56Uf8Nt1PTwMzQR7gQACKRQ+rbKU8yeZwZO/er963cwnQn5N6zv2WX84xNIHfbisZFMxi9CBoPiWdVxW+VYx35APGk0k50JjpVCoqfKzsbzGP4bSMSw+5TmMK7iGWvKb8QNcTKHMPH86A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770218598; c=relaxed/simple; bh=tBGjWp9KZwqfSR4OF+DmFQHQbG+EMJVuxLRJ6OZhZLw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q4G0Cnl1v7KhRIdgOE6X2w/Te4Ylsuq1B4lXUBXi3U9v2OkxZiTILNiy+1Iqig0BSaIVe0ahDwIVAVmOnC9FEOJYSLjLx88BQ+5ZH35yKjKDF3FgrjkxkfVMQqr7My4dipKZgK+RUzfs5uE+Fm2KCxJKrTAMoK7Ko7toncEmpyo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=nw209SOI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="nw209SOI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26D5FC4CEF7; Wed, 4 Feb 2026 15:23:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1770218598; bh=tBGjWp9KZwqfSR4OF+DmFQHQbG+EMJVuxLRJ6OZhZLw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nw209SOI308lXQ6NuY2AakBWZ27WYfEKtvx1ZyLI2q4EiGseYI9DnFV0KIhvkufYT r5zIFpebxw3QeBrYEtuWUtP0uAr2yupRtK3CVaFJIj0KemBI96O+CR6iKslgHkUhmv MJWlF0pbqytfnpFqCaijUq1z9cjGI796r7Uh8ibM= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Alexander Usyskin , Sasha Levin Subject: [PATCH 6.6 47/72] mei: trace: treat reg parameter as string Date: Wed, 4 Feb 2026 15:40:50 +0100 Message-ID: <20260204143847.334283103@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260204143845.603454952@linuxfoundation.org> References: <20260204143845.603454952@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.6-stable review patch. If anyone has any objections, please let me know. ------------------ From: Alexander Usyskin [ Upstream commit 06d5a7afe1d0b47102936d8fba568572c2b4b941 ] The commit afd2627f727b ("tracing: Check "%s" dereference via the field and not the TP_printk format") forbids to emit event with a plain char* without a wrapper. The reg parameter always passed as static string and wrapper is not strictly required, contrary to dev parameter. Use the string wrapper anyway to check sanity of the reg parameters, store it value independently and prevent internal kernel data leaks. Since some code refactoring has taken place, explicit backporting may be needed for kernels older than 6.10. Cc: stable@vger.kernel.org # v6.11+ Fixes: a0a927d06d79 ("mei: me: add io register tracing") Signed-off-by: Alexander Usyskin Link: https://patch.msgid.link/20260111145125.1754912-1-alexander.usyskin@intel.com Signed-off-by: Greg Kroah-Hartman [ adapted __assign_str() calls to use two arguments ] Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/misc/mei/mei-trace.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) --- a/drivers/misc/mei/mei-trace.h +++ b/drivers/misc/mei/mei-trace.h @@ -21,18 +21,18 @@ TRACE_EVENT(mei_reg_read, TP_ARGS(dev, reg, offs, val), TP_STRUCT__entry( __string(dev, dev_name(dev)) - __field(const char *, reg) + __string(reg, reg) __field(u32, offs) __field(u32, val) ), TP_fast_assign( __assign_str(dev, dev_name(dev)); - __entry->reg = reg; + __assign_str(reg, reg); __entry->offs = offs; __entry->val = val; ), TP_printk("[%s] read %s:[%#x] = %#x", - __get_str(dev), __entry->reg, __entry->offs, __entry->val) + __get_str(dev), __get_str(reg), __entry->offs, __entry->val) ); TRACE_EVENT(mei_reg_write, @@ -40,18 +40,18 @@ TRACE_EVENT(mei_reg_write, TP_ARGS(dev, reg, offs, val), TP_STRUCT__entry( __string(dev, dev_name(dev)) - __field(const char *, reg) + __string(reg, reg) __field(u32, offs) __field(u32, val) ), TP_fast_assign( __assign_str(dev, dev_name(dev)); - __entry->reg = reg; + __assign_str(reg, reg); __entry->offs = offs; __entry->val = val; ), TP_printk("[%s] write %s[%#x] = %#x", - __get_str(dev), __entry->reg, __entry->offs, __entry->val) + __get_str(dev), __get_str(reg), __entry->offs, __entry->val) ); TRACE_EVENT(mei_pci_cfg_read, @@ -59,18 +59,18 @@ TRACE_EVENT(mei_pci_cfg_read, TP_ARGS(dev, reg, offs, val), TP_STRUCT__entry( __string(dev, dev_name(dev)) - __field(const char *, reg) + __string(reg, reg) __field(u32, offs) __field(u32, val) ), TP_fast_assign( __assign_str(dev, dev_name(dev)); - __entry->reg = reg; + __assign_str(reg, reg); __entry->offs = offs; __entry->val = val; ), TP_printk("[%s] pci cfg read %s:[%#x] = %#x", - __get_str(dev), __entry->reg, __entry->offs, __entry->val) + __get_str(dev), __get_str(reg), __entry->offs, __entry->val) ); #endif /* _MEI_TRACE_H_ */