Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] staging: vc04_services: Use %p to log pointer
@ 2023-11-07 16:55 Umang Jain
  2023-11-07 16:55 ` [PATCH 1/2] staging: vc04_services: Use %p to log pointer address Umang Jain
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Umang Jain @ 2023-11-07 16:55 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-arm-kernel, linux-media
  Cc: Stefan Wahren, Greg Kroah-Hartman, Dan Carpenter, Kieran Bingham,
	Laurent Pinchart, Dave Stevenson, Phil Elwell,
	Ricardo B . Marliere, Umang Jain

%lx is used to print the unmodified pointer address for debugging.
%p will print the hashed pointer address to avoid leaking information
about kernel memory layout to userspace. But when `no_hash_pointers`
is passed as kernel parameter, unmodified pointer address will be
printed.

Hence, drop %lx in favour of %p. For debugging purposes, one can
easily depend on `no_hash_pointers`.

This also solves the following smatch warnings:
service_callback() warn: argument 7 to %lx specifier is cast from pointer
service_callback() warn: argument 11 to %lx specifier is cast from pointer
service_callback() warn: argument 12 to %lx specifier is cast from pointer
service_callback() warn: argument 13 to %lx specifier is cast from pointer
vchiq_release() warn: argument 7 to %lx specifier is cast from pointer

Umang Jain (2):
  staging: vc04_services: Use %p to log pointer address
  staging: vc04_services: Use %p to log pointer address

 .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c  | 7 +++----
 .../staging/vc04_services/interface/vchiq_arm/vchiq_dev.c  | 4 ++--
 2 files changed, 5 insertions(+), 6 deletions(-)

-- 
2.41.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] staging: vc04_services: Use %p to log pointer address
  2023-11-07 16:55 [PATCH 0/2] staging: vc04_services: Use %p to log pointer Umang Jain
@ 2023-11-07 16:55 ` Umang Jain
  2023-11-07 16:55 ` [PATCH 2/2] " Umang Jain
  2023-11-23 13:14 ` [PATCH 0/2] staging: vc04_services: Use %p to log pointer Greg Kroah-Hartman
  2 siblings, 0 replies; 4+ messages in thread
From: Umang Jain @ 2023-11-07 16:55 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-arm-kernel, linux-media
  Cc: Stefan Wahren, Greg Kroah-Hartman, Dan Carpenter, Kieran Bingham,
	Laurent Pinchart, Dave Stevenson, Phil Elwell,
	Ricardo B . Marliere, Umang Jain

Solves the following Smatch warnings:
vchiq_arm.c:1113 service_callback() warn: argument 7 to %lx specifier is cast from pointer
vchiq_arm.c:1113 service_callback() warn: argument 11 to %lx specifier is cast from pointer
vchiq_arm.c:1113 service_callback() warn: argument 12 to %lx specifier is cast from pointer
vchiq_arm.c:1113 service_callback() warn: argument 13 to %lx specifier is cast from pointer

%p will print the hashed pointer to dynamic debug.
In order to print the unmodified pointer address, one can use the
`no_hash_pointers` via kernel parameters.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
 .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c  | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
index 4a2023919f5f..34b8985a57e2 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -1111,11 +1111,10 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason,
 	rcu_read_unlock();
 
 	dev_dbg(service->state->dev,
-		"%s: %s: %s - service %lx(%d,%p), reason %d, header %lx, instance %lx, bulk_userdata %lx\n",
+		"%s: %s: %s - service %p(%d,%p), reason %d, header %p, instance %p, bulk_userdata %p\n",
 		log_cat(VCHIQ_ARM), log_type(TRACE),
-		__func__, (unsigned long)user_service, service->localport,
-		user_service->userdata, reason, (unsigned long)header,
-		(unsigned long)instance, (unsigned long)bulk_userdata);
+		__func__, user_service, service->localport,
+		user_service->userdata, reason, header, instance, bulk_userdata);
 
 	if (header && user_service->is_vchi) {
 		spin_lock(&msg_queue_spinlock);
-- 
2.41.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] staging: vc04_services: Use %p to log pointer address
  2023-11-07 16:55 [PATCH 0/2] staging: vc04_services: Use %p to log pointer Umang Jain
  2023-11-07 16:55 ` [PATCH 1/2] staging: vc04_services: Use %p to log pointer address Umang Jain
@ 2023-11-07 16:55 ` Umang Jain
  2023-11-23 13:14 ` [PATCH 0/2] staging: vc04_services: Use %p to log pointer Greg Kroah-Hartman
  2 siblings, 0 replies; 4+ messages in thread
From: Umang Jain @ 2023-11-07 16:55 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-arm-kernel, linux-media
  Cc: Stefan Wahren, Greg Kroah-Hartman, Dan Carpenter, Kieran Bingham,
	Laurent Pinchart, Dave Stevenson, Phil Elwell,
	Ricardo B . Marliere, Umang Jain

Solves the following Smatch warnings:
vchiq_dev.c:1220 vchiq_release() warn: argument 7 to %lx specifier is cast from pointer

%p will print the hashed pointer to dynamic debug.
In order to print the unmodified pointer address, one can use the
`no_hash_pointers` via kernel parameters.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
index a64d6333cf0a..16e951b2570f 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
@@ -1217,9 +1217,9 @@ static int vchiq_release(struct inode *inode, struct file *file)
 	int ret = 0;
 	int i;
 
-	dev_dbg(state->dev, "%s: %s: %s: instance=%lx\n",
+	dev_dbg(state->dev, "%s: %s: %s: instance=%p\n",
 		log_cat(VCHIQ_ARM), log_type(DEBUG),
-		__func__, (unsigned long)instance);
+		__func__, instance);
 
 	if (!state) {
 		ret = -EPERM;
-- 
2.41.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] staging: vc04_services: Use %p to log pointer
  2023-11-07 16:55 [PATCH 0/2] staging: vc04_services: Use %p to log pointer Umang Jain
  2023-11-07 16:55 ` [PATCH 1/2] staging: vc04_services: Use %p to log pointer address Umang Jain
  2023-11-07 16:55 ` [PATCH 2/2] " Umang Jain
@ 2023-11-23 13:14 ` Greg Kroah-Hartman
  2 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2023-11-23 13:14 UTC (permalink / raw)
  To: Umang Jain
  Cc: linux-staging, linux-rpi-kernel, linux-arm-kernel, linux-media,
	Stefan Wahren, Dan Carpenter, Kieran Bingham, Laurent Pinchart,
	Dave Stevenson, Phil Elwell, Ricardo B . Marliere

On Tue, Nov 07, 2023 at 11:55:21AM -0500, Umang Jain wrote:
> %lx is used to print the unmodified pointer address for debugging.
> %p will print the hashed pointer address to avoid leaking information
> about kernel memory layout to userspace. But when `no_hash_pointers`
> is passed as kernel parameter, unmodified pointer address will be
> printed.
> 
> Hence, drop %lx in favour of %p. For debugging purposes, one can
> easily depend on `no_hash_pointers`.
> 
> This also solves the following smatch warnings:
> service_callback() warn: argument 7 to %lx specifier is cast from pointer
> service_callback() warn: argument 11 to %lx specifier is cast from pointer
> service_callback() warn: argument 12 to %lx specifier is cast from pointer
> service_callback() warn: argument 13 to %lx specifier is cast from pointer
> vchiq_release() warn: argument 7 to %lx specifier is cast from pointer

Doesn't apply as I didn't take your other patch series.  resend it when
you have that one fixed up?

thanks,

greg k-h

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-23 13:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-07 16:55 [PATCH 0/2] staging: vc04_services: Use %p to log pointer Umang Jain
2023-11-07 16:55 ` [PATCH 1/2] staging: vc04_services: Use %p to log pointer address Umang Jain
2023-11-07 16:55 ` [PATCH 2/2] " Umang Jain
2023-11-23 13:14 ` [PATCH 0/2] staging: vc04_services: Use %p to log pointer Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox