Re: [PATCH v3] staging: comedi: fix cast warning in comedi_compat32.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22/06/15 16:33, Geliang Tang wrote:
This patch fixes the following sparse warning:

drivers/staging/comedi/comedi_compat32.c:205:16: warning: cast removes
address space of expression

Signed-off-by: Geliang Tang <geliangtang@xxxxxxx>
---
Changes in v3:
   - fix the 80 character line limit.

Changes in v2:
   - compat_ptr() is substituted by 'unsigned long'.
---
  drivers/staging/comedi/comedi_compat32.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/comedi_compat32.c b/drivers/staging/comedi/comedi_compat32.c
index 2584824..f356386 100644
--- a/drivers/staging/comedi/comedi_compat32.c
+++ b/drivers/staging/comedi/comedi_compat32.c
@@ -202,7 +202,8 @@ static int get_compat_cmd(struct comedi_cmd __user *cmd,
  	err |= __get_user(temp.uint, &cmd32->stop_arg);
  	err |= __put_user(temp.uint, &cmd->stop_arg);
  	err |= __get_user(temp.uptr, &cmd32->chanlist);
-	err |= __put_user(compat_ptr(temp.uptr), &cmd->chanlist);
+	err |= __put_user((unsigned int __force *)compat_ptr(temp.uptr),
+			&cmd->chanlist);
  	err |= __get_user(temp.uint, &cmd32->chanlist_len);
  	err |= __put_user(temp.uint, &cmd->chanlist_len);
  	err |= __get_user(temp.uptr, &cmd32->data);


Looks okay now apart from it being ugly, but that can't be helped since comedi uses that chanlist member for both user and kernel addresses!

Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx>

--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@xxxxxxxxx> )=-
-=(                          Web: http://www.mev.co.uk/  )=-
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux