Skip to contentSkip to conversation

staging/vc04_services: Use __user annotation for user-space pointers

PATCH New Carlos Maiolino 3 participants 11 messages Jul 24, 2018 – Aug 3, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

I'm not subscribed to the list, so, please, CC me on any reply. Thanks a lot.

 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c   | 4 ++--
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +2 -2
index bc05c69383b8..42f471471e57 100644
@@ -1648,8 +1648,8 @@ vchiq_compat_ioctl_queue_message(struct file *file,
 				 unsigned int cmd,
 				 unsigned long arg)
 {
-	VCHIQ_QUEUE_MESSAGE_T *args;
-	struct vchiq_element *elements;
+	VCHIQ_QUEUE_MESSAGE_T __user *args;
+	struct vchiq_element __user *elements;
 	struct vchiq_queue_message32 args32;
 	unsigned int count;
 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +1 -1
index 9f859953f45c..1776fab41e40 100644
@@ -50,7 +50,7 @@ typedef struct {
 typedef struct {
 	unsigned int handle;
 	unsigned int count;
-	const struct vchiq_element *elements;
+	const struct vchiq_element __user *elements;
 } VCHIQ_QUEUE_MESSAGE_T;
 
 typedef struct {
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Quoted 7 lines · Carlos Maiolino

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

We need a blank line befor your signed-off-by line please.

Quoted 27 lines

I'm not subscribed to the list, so, please, CC me on any reply. Thanks a lot.

 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c   | 4 ++--
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +2 -2
index bc05c69383b8..42f471471e57 100644
@@ -1648,8 +1648,8 @@ vchiq_compat_ioctl_queue_message(struct file *file,
 				 unsigned int cmd,
 				 unsigned long arg)
 {
-	VCHIQ_QUEUE_MESSAGE_T *args;
-	struct vchiq_element *elements;
+	VCHIQ_QUEUE_MESSAGE_T __user *args;
+	struct vchiq_element __user *elements;
 	struct vchiq_queue_message32 args32;
 	unsigned int count;
 
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +0 -0
index 9f859953f45c..1776fab41e40 100644

drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h typedef struct { · line 56

Quoted 8 lines
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +1 -1
@@ -50,7 +50,7 @@ typedef struct {
 typedef struct {
 	unsigned int handle;
 	unsigned int count;
-	const struct vchiq_element *elements;
+	const struct vchiq_element __user *elements;
 } VCHIQ_QUEUE_MESSAGE_T;
 
 typedef struct {

It would be great to have an ack from the maintainers here :)

thanks,

greg k-h

#2 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Quoted 11 lines · Greg KH
Quoted 7 lines · Carlos Maiolino

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

We need a blank line befor your signed-off-by line please.

Thanks, I'll resend, or do you prefer me to way until this get a review from the maintainer, and I resend the fixed description with the reviewed-by?

Quoted 10 lines
Quoted 4 lines

+ const struct vchiq_element __user *elements;
} VCHIQ_QUEUE_MESSAGE_T;

typedef struct {

It would be great to have an ack from the maintainers here :)

thanks,

greg k-h

#3 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Hi Carlos,

Am 30.07.2018 um 11:08 schrieb Carlos Maiolino:

Quoted 6 lines · Greg KH
Quoted 5 lines · Carlos Maiolino
Quoted 4 lines

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

warning: incorrect type in argument 1 (different address spaces)

---

We need a blank line befor your signed-off-by line please.

Thanks, I'll resend, or do you prefer me to way until this get a review from the maintainer, and I resend the fixed description with the reviewed-by?

did you test your patch via vchiq_test or something else?

Please add Eric Anholt and fix my mail address in the second version, i only received this via mailing list.

Stefan

Quoted 15 lines
Quoted 11 lines
Quoted 6 lines

+ const struct vchiq_element __user *elements;
} VCHIQ_QUEUE_MESSAGE_T;

  typedef struct {

It would be great to have an ack from the maintainers here :)

thanks,

greg k-h

_______________________________________________
linux-rpi-kernel mailing list
linux-rpi-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel

#4 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Quoted 17 lines · Stefan Wahren

Hi Carlos,

Am 30.07.2018 um 11:08 schrieb Carlos Maiolino:

Quoted 13 lines · Greg KH
Quoted 11 lines · Carlos Maiolino
Quoted 8 lines

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

We need a blank line befor your signed-off-by line please.

Thanks, I'll resend, or do you prefer me to way until this get a review from
the maintainer, and I resend the fixed description with the reviewed-by?

did you test your patch via vchiq_test or something else?

Hi, no. Can you please point me where I can get it?

Quoted 1 line

Please add Eric Anholt

Sure, will do

Quoted 3 lines

and fix my mail address in the second version, i only received this via mailing list.

Meh, I shall use copy/paste next time :P

Quoted 21 lines

Stefan

Quoted 17 lines
Quoted 5 lines
Quoted 5 lines

+ const struct vchiq_element __user *elements;
} VCHIQ_QUEUE_MESSAGE_T;

Quoted 7 lines
Quoted 1 line
  typedef struct {

It would be great to have an ack from the maintainers here :)

thanks,

greg k-h

_______________________________________________
linux-rpi-kernel mailing list
linux-rpi-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel

#5 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Hi Carlos,

Am 30.07.2018 um 11:25 schrieb Carlos Maiolino:

Quoted 16 lines · Stefan Wahren
Quoted 15 lines

Hi Carlos,

Am 30.07.2018 um 11:08 schrieb Carlos Maiolino:

Quoted 11 lines · Greg KH
Quoted 10 lines · Carlos Maiolino
Quoted 7 lines

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

We need a blank line befor your signed-off-by line please.

Quoted 9 lines
Quoted 6 lines
Quoted 3 lines

Thanks, I'll resend, or do you prefer me to way until this get a review from
the maintainer, and I resend the fixed description with the reviewed-by?

did you test your patch via vchiq_test or something else?

Hi, no. Can you please point me where I can get it?

i think easiest the way would be to get a recent Raspbian Lite (
https://www.raspberrypi.org/downloads/raspbian/ ),
build the kernel with bcm2835_defconfig, modify config.txt to use the upstream DTB, add the upstream kernel and DTB to boot partition.

The following command must be successful:

vchiq_test -f 1

#6 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Quoted 37 lines · Stefan Wahren

Hi Carlos,

Am 30.07.2018 um 11:25 schrieb Carlos Maiolino:

Quoted 23 lines
Quoted 20 lines · Stefan Wahren

Hi Carlos,

Am 30.07.2018 um 11:08 schrieb Carlos Maiolino:

Quoted 15 lines · Greg KH
Quoted 13 lines · Carlos Maiolino
Quoted 8 lines

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

We need a blank line befor your signed-off-by line please.

Quoted 10 lines
Quoted 7 lines
Quoted 3 lines

Thanks, I'll resend, or do you prefer me to way until this get a review from
the maintainer, and I resend the fixed description with the reviewed-by?

did you test your patch via vchiq_test or something else?

Hi, no. Can you please point me where I can get it?

Quoted 8 lines

i think easiest the way would be to get a recent Raspbian Lite (
https://www.raspberrypi.org/downloads/raspbian/ ),
build the kernel with bcm2835_defconfig, modify config.txt to use the upstream DTB, add the upstream kernel and DTB to boot partition.

The following command must be successful:

vchiq_test -f 1

K, I'll take a look and find a way to test it, I don't have a rPI at the moment to test
it, I'll take a look if I can borrow one. in mean time, can it be tested somehow in x86 environment?

#7 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Am 30.07.2018 um 11:43 schrieb Carlos Maiolino:

Quoted 6 lines · Stefan Wahren
Quoted 5 lines

i think easiest the way would be to get a recent Raspbian Lite (
https://www.raspberrypi.org/downloads/raspbian/ ),
build the kernel with bcm2835_defconfig, modify config.txt to use the upstream DTB, add the upstream kernel and DTB to boot partition.

Quoted 7 lines
Quoted 3 lines

The following command must be successful:

vchiq_test -f 1

K, I'll take a look and find a way to test it, I don't have a rPI at the moment to test
it, I'll take a look if I can borrow one. in mean time, can it be tested somehow in x86 environment?

I don't see a chance because this driver talks to the VC4 firmware.

#8 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Quoted 9 lines · Stefan Wahren

Am 30.07.2018 um 11:43 schrieb Carlos Maiolino:

Quoted 8 lines · Stefan Wahren
Quoted 7 lines

i think easiest the way would be to get a recent Raspbian Lite (
https://www.raspberrypi.org/downloads/raspbian/ ),
build the kernel with bcm2835_defconfig, modify config.txt to use the upstream DTB, add the upstream kernel and DTB to boot partition.

The following command must be successful:

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

vchiq_test -f 1

K, I'll take a look and find a way to test it, I don't have a rPI at the moment to test
it, I'll take a look if I can borrow one. in mean time, can it be tested somehow in x86 environment?

I don't see a chance because this driver talks to the VC4 firmware.

kk

thx

#9 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

Hi Carlos,

Quoted 19 lines

Carlos Maiolino <[email protected]> hat am 30. Juli 2018 um 11:57 geschrieben:

Quoted 15 lines · Stefan Wahren

Am 30.07.2018 um 11:43 schrieb Carlos Maiolino:

Quoted 13 lines · Stefan Wahren
Quoted 8 lines

i think easiest the way would be to get a recent Raspbian Lite (
https://www.raspberrypi.org/downloads/raspbian/ ),
build the kernel with bcm2835_defconfig, modify config.txt to use the upstream DTB, add the upstream kernel and DTB to boot partition.

The following command must be successful:

vchiq_test -f 1

K, I'll take a look and find a way to test it, I don't have a rPI at the moment to test
it, I'll take a look if I can borrow one. in mean time, can it be tested somehow in x86 environment?

Quoted 6 lines
Quoted 2 lines

I don't see a chance because this driver talks to the VC4 firmware.

kk

thx

i only want to point out that there was a regression (deadlock) in linux-next, which has been reverted [1] / fixed.

[1] - https://lkml.org/lkml/2018/8/2/578

#10 lore raw

PATCH 1/1 staging/vc04_services: Use __user annotation for user-space pointers

In reply to Carlos Maiolino
Quoted 10 lines · Carlos Maiolino
Quoted 9 lines · Greg KH
Quoted 7 lines · Carlos Maiolino

Fix several sparse warnings regarding different address space assignments, like example below, by properly annotating pointers expected to carry user space addresses.

warning: incorrect type in argument 1 (different address spaces)

---

Quoted 5 lines
Quoted 2 lines

We need a blank line befor your signed-off-by line please.

Thanks, I'll resend, or do you prefer me to way until this get a review from the maintainer, and I resend the fixed description with the reviewed-by?

I should never have to hand-edit a patch, otherwise maintainers will not scale, so yes, I need a new version. But it would be great if we got a review from the proper maintainers first so you know if anything else needs to be done.

thanks,

greg k-h