Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
On Fri, Feb 19, 2021 at 09:55:14AM +0300, Dan Carpenter wrote:
> No problem.  These days I have fibre to my house, but I still remember
> trying to clone the kernel when I could only buy 20MB of data at a
> time.  :P

Whoaa, that's tough! Respect to you for still trying to contribute
to the kernel. Hope no one gets such a situation. :D

Regards,
Atul


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Dan Carpenter
No problem.  These days I have fibre to my house, but I still remember
trying to clone the kernel when I could only buy 20MB of data at a
time.  :P

regards,
dan carpenter



Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
On Thu, Feb 18, 2021 at 06:51:59PM +0300, Dan Carpenter wrote:
> On Thu, Feb 18, 2021 at 06:22:20PM +0530, Atul Gopinathan wrote:
> > On Thu, Feb 18, 2021 at 01:21:05PM +0100, Greg KH wrote:
> > > On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> > > > On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > > > > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > > > > Fix the following warning generated by sparse:
> > > > > > 
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect 
> > > > > > type in assignment (different address spaces)
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned 
> > > > > > int *chanlist
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23:got void 
> > > > > > [noderef]  *
> > > > > > 
> > > > > > compat_ptr() has a return type of "void __user *"
> > > > > > as defined in "include/linux/compat.h"
> > > > > > 
> > > > > > cmd->chanlist is of type "unsigned int *" as defined
> > > > > > in drivers/staging/comedi/comedi.h" in struct
> > > > > > comedi_cmd.
> > > > > > 
> > > > > > Signed-off-by: Atul Gopinathan 
> > > > > > ---
> > > > > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > > > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > > 
> > > > > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > > > > b/drivers/staging/comedi/comedi_fops.c
> > > > > > index e85a99b68f31..fc4ec38012b4 100644
> > > > > > --- a/drivers/staging/comedi/comedi_fops.c
> > > > > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > > > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd 
> > > > > > *cmd,
> > > > > > cmd->scan_end_arg = v32.scan_end_arg;
> > > > > > cmd->stop_src = v32.stop_src;
> > > > > > cmd->stop_arg = v32.stop_arg;
> > > > > > -   cmd->chanlist = compat_ptr(v32.chanlist);
> > > > > > +   cmd->chanlist = (unsigned int __force 
> > > > > > *)compat_ptr(v32.chanlist);
> > > > > > cmd->chanlist_len = v32.chanlist_len;
> > > > > > cmd->data = compat_ptr(v32.data);
> > > > > > cmd->data_len = v32.data_len;
> > > > > > 
> > > > > 
> > > > > This patch and the other one in your series clash with commit 
> > > > > 9d5d041eebe3
> > > > > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > > > > warnings") by B K Karthik.
> > > > 
> > > > Oh I see. Not sure if this is the right place to ask, but which tree and
> > > > branch should one work with when messing with the code in staging/
> > > > directory? (wanted to avoid such clashes in future)
> > > 
> > > staging-next is the best one to use from the staging.git tree.  But as
> > > the above commit was merged in 5.9-rc1, way back in July of last year, I
> > > have no idea what tree you are currently using to not hit that...
> > 
> > I'm using the staging tree alright, cloned it yesterday. Except I used the
> > --depth parameter. I believe that is the culprit. How bad a mistake is
> > that?
> > 
> > (Why depth? I'm currently staying in a remote area where internet
> > download speeds are less than 100Kbps. I tried a normal git clone of
> > the staging tree and it's estimated time was more than half a day. Not
> > to mention, it fails due to loss of connection midway every time)
> 
> I live in Africa and used to have this problem before Africa got
> connected to fibre optic.  Greg's suggestion of using `wget -c` to
> download a git bundle is a good one.  However, in my experience
> `wget -c` is not 100% accurate on super flakey internet.  Then if it
> fails the verify will fail and you'll have to re-download the entire
> thing.
> 
> If you want I have a different option.  What I made a clone of Linus's
> tree.  Then I did:
> 
> tar cvvf linux.tar linux/.git
> for i in $(seq 0 116) ; do dd if=linux.tar of=linux.tar.${i} ibs=1M count=20 
> skip=$((20 * $i)) ; done
> 
> Now I have put those on a private webserver I have.  You can download
> them by doing:
> 
> for i in $(seq 0 116) ; do wget -c 
> http://51.158.124.72/kernel_split/linux.tar.${i} ; done
> md5sum * > my_md5s
> wget http://51.158.124.72/kernel_split/md5sums
> diff -u md5sum my_md5s
> 
> Re-download files which don't match
> 
> for i in $(seq 0 116) ; do cat linux.tar.${i} >> linux.tar ; done
> cat linux.tar | tar xv
> cd linux
> git reset --hard
> 
> Let me know if this works for you.  I will leave the source up for a
> week or two before I delete it.

Hi Dan!
That's a great work you did there. Thank you for trying to help,
really appreciate it. :D

As of now, I digged into my old backup partitions and found an image
of an ubuntu VM that I used to mess with linux source a couple of weeks
ago and luckily I had a clone of both linux-mainline and linux-next
trees in it. So I have updated those and using them currently.

My internet problems are temporary, as I will move back to my original
location, which has good internet speeds, next month.

Again, thank you for trying to help me! I will definitely contact you
if I 

Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Dan Carpenter
On Thu, Feb 18, 2021 at 06:22:20PM +0530, Atul Gopinathan wrote:
> On Thu, Feb 18, 2021 at 01:21:05PM +0100, Greg KH wrote:
> > On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> > > On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > > > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > > > Fix the following warning generated by sparse:
> > > > > 
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect 
> > > > > type in assignment (different address spaces)
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned 
> > > > > int *chanlist
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef] 
> > > > >  *
> > > > > 
> > > > > compat_ptr() has a return type of "void __user *"
> > > > > as defined in "include/linux/compat.h"
> > > > > 
> > > > > cmd->chanlist is of type "unsigned int *" as defined
> > > > > in drivers/staging/comedi/comedi.h" in struct
> > > > > comedi_cmd.
> > > > > 
> > > > > Signed-off-by: Atul Gopinathan 
> > > > > ---
> > > > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > > > b/drivers/staging/comedi/comedi_fops.c
> > > > > index e85a99b68f31..fc4ec38012b4 100644
> > > > > --- a/drivers/staging/comedi/comedi_fops.c
> > > > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd 
> > > > > *cmd,
> > > > >   cmd->scan_end_arg = v32.scan_end_arg;
> > > > >   cmd->stop_src = v32.stop_src;
> > > > >   cmd->stop_arg = v32.stop_arg;
> > > > > - cmd->chanlist = compat_ptr(v32.chanlist);
> > > > > + cmd->chanlist = (unsigned int __force 
> > > > > *)compat_ptr(v32.chanlist);
> > > > >   cmd->chanlist_len = v32.chanlist_len;
> > > > >   cmd->data = compat_ptr(v32.data);
> > > > >   cmd->data_len = v32.data_len;
> > > > > 
> > > > 
> > > > This patch and the other one in your series clash with commit 
> > > > 9d5d041eebe3
> > > > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > > > warnings") by B K Karthik.
> > > 
> > > Oh I see. Not sure if this is the right place to ask, but which tree and
> > > branch should one work with when messing with the code in staging/
> > > directory? (wanted to avoid such clashes in future)
> > 
> > staging-next is the best one to use from the staging.git tree.  But as
> > the above commit was merged in 5.9-rc1, way back in July of last year, I
> > have no idea what tree you are currently using to not hit that...
> 
> I'm using the staging tree alright, cloned it yesterday. Except I used the
> --depth parameter. I believe that is the culprit. How bad a mistake is
> that?
> 
> (Why depth? I'm currently staying in a remote area where internet
> download speeds are less than 100Kbps. I tried a normal git clone of
> the staging tree and it's estimated time was more than half a day. Not
> to mention, it fails due to loss of connection midway every time)

I live in Africa and used to have this problem before Africa got
connected to fibre optic.  Greg's suggestion of using `wget -c` to
download a git bundle is a good one.  However, in my experience
`wget -c` is not 100% accurate on super flakey internet.  Then if it
fails the verify will fail and you'll have to re-download the entire
thing.

If you want I have a different option.  What I made a clone of Linus's
tree.  Then I did:

tar cvvf linux.tar linux/.git
for i in $(seq 0 116) ; do dd if=linux.tar of=linux.tar.${i} ibs=1M count=20 
skip=$((20 * $i)) ; done

Now I have put those on a private webserver I have.  You can download
them by doing:

for i in $(seq 0 116) ; do wget -c 
http://51.158.124.72/kernel_split/linux.tar.${i} ; done
md5sum * > my_md5s
wget http://51.158.124.72/kernel_split/md5sums
diff -u md5sum my_md5s

Re-download files which don't match

for i in $(seq 0 116) ; do cat linux.tar.${i} >> linux.tar ; done
cat linux.tar | tar xv
cd linux
git reset --hard

Let me know if this works for you.  I will leave the source up for a
week or two before I delete it.

regards,
dan carpenter


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
On Thu, Feb 18, 2021 at 02:46:48PM +0100, Greg KH wrote:
> On Thu, Feb 18, 2021 at 06:22:20PM +0530, Atul Gopinathan wrote:
> > On Thu, Feb 18, 2021 at 01:21:05PM +0100, Greg KH wrote:
> > > On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> > > > On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > > > > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > > > > Fix the following warning generated by sparse:
> > > > > > 
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect 
> > > > > > type in assignment (different address spaces)
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned 
> > > > > > int *chanlist
> > > > > > drivers/staging//comedi/comedi_fops.c:2956:23:got void 
> > > > > > [noderef]  *
> > > > > > 
> > > > > > compat_ptr() has a return type of "void __user *"
> > > > > > as defined in "include/linux/compat.h"
> > > > > > 
> > > > > > cmd->chanlist is of type "unsigned int *" as defined
> > > > > > in drivers/staging/comedi/comedi.h" in struct
> > > > > > comedi_cmd.
> > > > > > 
> > > > > > Signed-off-by: Atul Gopinathan 
> > > > > > ---
> > > > > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > > > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > > 
> > > > > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > > > > b/drivers/staging/comedi/comedi_fops.c
> > > > > > index e85a99b68f31..fc4ec38012b4 100644
> > > > > > --- a/drivers/staging/comedi/comedi_fops.c
> > > > > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > > > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd 
> > > > > > *cmd,
> > > > > > cmd->scan_end_arg = v32.scan_end_arg;
> > > > > > cmd->stop_src = v32.stop_src;
> > > > > > cmd->stop_arg = v32.stop_arg;
> > > > > > -   cmd->chanlist = compat_ptr(v32.chanlist);
> > > > > > +   cmd->chanlist = (unsigned int __force 
> > > > > > *)compat_ptr(v32.chanlist);
> > > > > > cmd->chanlist_len = v32.chanlist_len;
> > > > > > cmd->data = compat_ptr(v32.data);
> > > > > > cmd->data_len = v32.data_len;
> > > > > > 
> > > > > 
> > > > > This patch and the other one in your series clash with commit 
> > > > > 9d5d041eebe3
> > > > > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > > > > warnings") by B K Karthik.
> > > > 
> > > > Oh I see. Not sure if this is the right place to ask, but which tree and
> > > > branch should one work with when messing with the code in staging/
> > > > directory? (wanted to avoid such clashes in future)
> > > 
> > > staging-next is the best one to use from the staging.git tree.  But as
> > > the above commit was merged in 5.9-rc1, way back in July of last year, I
> > > have no idea what tree you are currently using to not hit that...
> > 
> > I'm using the staging tree alright, cloned it yesterday. Except I used the
> > --depth parameter. I believe that is the culprit. How bad a mistake is
> > that?
> 
> I do not know, I do not use that option, sorry.
> 
> > (Why depth? I'm currently staying in a remote area where internet
> > download speeds are less than 100Kbps. I tried a normal git clone of
> > the staging tree and it's estimated time was more than half a day. Not
> > to mention, it fails due to loss of connection midway every time)
> 
> If you already have a copy of the kernel git tree, there is never a need
> to download the whole thing again.  Just add another remote banch and do
> a pull, the difference should be very tiny now compared to what is in
> Linus's tree.
> 
> Or, to seed the whole thing, download a "git bundle" as described here:
>   https://www.kernel.org/best-way-to-do-linux-clones-for-your-ci.html
> which you can use to work off of locally, and should be easier to handle
> over slow and flaky download connections.
> 
> hope this helps,

Oh this is great! Will definitely help me. Thanks a lot!

Regards,
Atul


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Greg KH
On Thu, Feb 18, 2021 at 06:22:20PM +0530, Atul Gopinathan wrote:
> On Thu, Feb 18, 2021 at 01:21:05PM +0100, Greg KH wrote:
> > On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> > > On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > > > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > > > Fix the following warning generated by sparse:
> > > > > 
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect 
> > > > > type in assignment (different address spaces)
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned 
> > > > > int *chanlist
> > > > > drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef] 
> > > > >  *
> > > > > 
> > > > > compat_ptr() has a return type of "void __user *"
> > > > > as defined in "include/linux/compat.h"
> > > > > 
> > > > > cmd->chanlist is of type "unsigned int *" as defined
> > > > > in drivers/staging/comedi/comedi.h" in struct
> > > > > comedi_cmd.
> > > > > 
> > > > > Signed-off-by: Atul Gopinathan 
> > > > > ---
> > > > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > > > b/drivers/staging/comedi/comedi_fops.c
> > > > > index e85a99b68f31..fc4ec38012b4 100644
> > > > > --- a/drivers/staging/comedi/comedi_fops.c
> > > > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd 
> > > > > *cmd,
> > > > >   cmd->scan_end_arg = v32.scan_end_arg;
> > > > >   cmd->stop_src = v32.stop_src;
> > > > >   cmd->stop_arg = v32.stop_arg;
> > > > > - cmd->chanlist = compat_ptr(v32.chanlist);
> > > > > + cmd->chanlist = (unsigned int __force 
> > > > > *)compat_ptr(v32.chanlist);
> > > > >   cmd->chanlist_len = v32.chanlist_len;
> > > > >   cmd->data = compat_ptr(v32.data);
> > > > >   cmd->data_len = v32.data_len;
> > > > > 
> > > > 
> > > > This patch and the other one in your series clash with commit 
> > > > 9d5d041eebe3
> > > > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > > > warnings") by B K Karthik.
> > > 
> > > Oh I see. Not sure if this is the right place to ask, but which tree and
> > > branch should one work with when messing with the code in staging/
> > > directory? (wanted to avoid such clashes in future)
> > 
> > staging-next is the best one to use from the staging.git tree.  But as
> > the above commit was merged in 5.9-rc1, way back in July of last year, I
> > have no idea what tree you are currently using to not hit that...
> 
> I'm using the staging tree alright, cloned it yesterday. Except I used the
> --depth parameter. I believe that is the culprit. How bad a mistake is
> that?

I do not know, I do not use that option, sorry.

> (Why depth? I'm currently staying in a remote area where internet
> download speeds are less than 100Kbps. I tried a normal git clone of
> the staging tree and it's estimated time was more than half a day. Not
> to mention, it fails due to loss of connection midway every time)

If you already have a copy of the kernel git tree, there is never a need
to download the whole thing again.  Just add another remote banch and do
a pull, the difference should be very tiny now compared to what is in
Linus's tree.

Or, to seed the whole thing, download a "git bundle" as described here:
https://www.kernel.org/best-way-to-do-linux-clones-for-your-ci.html
which you can use to work off of locally, and should be easier to handle
over slow and flaky download connections.

hope this helps,

greg k-h


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
On Thu, Feb 18, 2021 at 01:21:05PM +0100, Greg KH wrote:
> On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> > On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > > Fix the following warning generated by sparse:
> > > > 
> > > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect type 
> > > > in assignment (different address spaces)
> > > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned int 
> > > > *chanlist
> > > > drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef] 
> > > >  *
> > > > 
> > > > compat_ptr() has a return type of "void __user *"
> > > > as defined in "include/linux/compat.h"
> > > > 
> > > > cmd->chanlist is of type "unsigned int *" as defined
> > > > in drivers/staging/comedi/comedi.h" in struct
> > > > comedi_cmd.
> > > > 
> > > > Signed-off-by: Atul Gopinathan 
> > > > ---
> > > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > > b/drivers/staging/comedi/comedi_fops.c
> > > > index e85a99b68f31..fc4ec38012b4 100644
> > > > --- a/drivers/staging/comedi/comedi_fops.c
> > > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd *cmd,
> > > > cmd->scan_end_arg = v32.scan_end_arg;
> > > > cmd->stop_src = v32.stop_src;
> > > > cmd->stop_arg = v32.stop_arg;
> > > > -   cmd->chanlist = compat_ptr(v32.chanlist);
> > > > +   cmd->chanlist = (unsigned int __force 
> > > > *)compat_ptr(v32.chanlist);
> > > > cmd->chanlist_len = v32.chanlist_len;
> > > > cmd->data = compat_ptr(v32.data);
> > > > cmd->data_len = v32.data_len;
> > > > 
> > > 
> > > This patch and the other one in your series clash with commit 9d5d041eebe3
> > > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > > warnings") by B K Karthik.
> > 
> > Oh I see. Not sure if this is the right place to ask, but which tree and
> > branch should one work with when messing with the code in staging/
> > directory? (wanted to avoid such clashes in future)
> 
> staging-next is the best one to use from the staging.git tree.  But as
> the above commit was merged in 5.9-rc1, way back in July of last year, I
> have no idea what tree you are currently using to not hit that...

I'm using the staging tree alright, cloned it yesterday. Except I used the
--depth parameter. I believe that is the culprit. How bad a mistake is
that?

(Why depth? I'm currently staying in a remote area where internet
download speeds are less than 100Kbps. I tried a normal git clone of
the staging tree and it's estimated time was more than half a day. Not
to mention, it fails due to loss of connection midway every time)

Thanks!
Atul


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Greg KH
On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote:
> On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> > On 18/02/2021 08:44, Atul Gopinathan wrote:
> > > Fix the following warning generated by sparse:
> > > 
> > > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect type in 
> > > assignment (different address spaces)
> > > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned int 
> > > *chanlist
> > > drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef] 
> > >  *
> > > 
> > > compat_ptr() has a return type of "void __user *"
> > > as defined in "include/linux/compat.h"
> > > 
> > > cmd->chanlist is of type "unsigned int *" as defined
> > > in drivers/staging/comedi/comedi.h" in struct
> > > comedi_cmd.
> > > 
> > > Signed-off-by: Atul Gopinathan 
> > > ---
> > >   drivers/staging/comedi/comedi_fops.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > > b/drivers/staging/comedi/comedi_fops.c
> > > index e85a99b68f31..fc4ec38012b4 100644
> > > --- a/drivers/staging/comedi/comedi_fops.c
> > > +++ b/drivers/staging/comedi/comedi_fops.c
> > > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd *cmd,
> > >   cmd->scan_end_arg = v32.scan_end_arg;
> > >   cmd->stop_src = v32.stop_src;
> > >   cmd->stop_arg = v32.stop_arg;
> > > - cmd->chanlist = compat_ptr(v32.chanlist);
> > > + cmd->chanlist = (unsigned int __force *)compat_ptr(v32.chanlist);
> > >   cmd->chanlist_len = v32.chanlist_len;
> > >   cmd->data = compat_ptr(v32.data);
> > >   cmd->data_len = v32.data_len;
> > > 
> > 
> > This patch and the other one in your series clash with commit 9d5d041eebe3
> > ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> > warnings") by B K Karthik.
> 
> Oh I see. Not sure if this is the right place to ask, but which tree and
> branch should one work with when messing with the code in staging/
> directory? (wanted to avoid such clashes in future)

staging-next is the best one to use from the staging.git tree.  But as
the above commit was merged in 5.9-rc1, way back in July of last year, I
have no idea what tree you are currently using to not hit that...

You should always be able to find the subsystem git trees in the
MAINTAINERS file, or if not, just work off of what is in linux-next as
that should have all subsystem's trees merged into it.

thanks,

greg k-h


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Ian Abbott

On 18/02/2021 08:44, Atul Gopinathan wrote:

Fix the following warning generated by sparse:

drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect type in 
assignment (different address spaces)
drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned int 
*chanlist
drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef]  *

compat_ptr() has a return type of "void __user *"
as defined in "include/linux/compat.h"

cmd->chanlist is of type "unsigned int *" as defined
in drivers/staging/comedi/comedi.h" in struct
comedi_cmd.

Signed-off-by: Atul Gopinathan 
---
  drivers/staging/comedi/comedi_fops.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/comedi_fops.c 
b/drivers/staging/comedi/comedi_fops.c
index e85a99b68f31..fc4ec38012b4 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd *cmd,
cmd->scan_end_arg = v32.scan_end_arg;
cmd->stop_src = v32.stop_src;
cmd->stop_arg = v32.stop_arg;
-   cmd->chanlist = compat_ptr(v32.chanlist);
+   cmd->chanlist = (unsigned int __force *)compat_ptr(v32.chanlist);
cmd->chanlist_len = v32.chanlist_len;
cmd->data = compat_ptr(v32.data);
cmd->data_len = v32.data_len;



This patch and the other one in your series clash with commit 
9d5d041eebe3 ("staging: comedi: comedi_fops.c: added casts to get rid of 
sparse warnings") by B K Karthik.


https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9d5d041eebe3dcf7591ff7004896c329eb841ca6

--
-=( Ian Abbott  || MEV Ltd. is a company  )=-
-=( registered in England & Wales.  Regd. number: 02862268.  )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-


Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
On Thu, Feb 18, 2021 at 10:31:15AM +, Ian Abbott wrote:
> On 18/02/2021 08:44, Atul Gopinathan wrote:
> > Fix the following warning generated by sparse:
> > 
> > drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect type in 
> > assignment (different address spaces)
> > drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned int 
> > *chanlist
> > drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef] 
> >  *
> > 
> > compat_ptr() has a return type of "void __user *"
> > as defined in "include/linux/compat.h"
> > 
> > cmd->chanlist is of type "unsigned int *" as defined
> > in drivers/staging/comedi/comedi.h" in struct
> > comedi_cmd.
> > 
> > Signed-off-by: Atul Gopinathan 
> > ---
> >   drivers/staging/comedi/comedi_fops.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/staging/comedi/comedi_fops.c 
> > b/drivers/staging/comedi/comedi_fops.c
> > index e85a99b68f31..fc4ec38012b4 100644
> > --- a/drivers/staging/comedi/comedi_fops.c
> > +++ b/drivers/staging/comedi/comedi_fops.c
> > @@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd *cmd,
> > cmd->scan_end_arg = v32.scan_end_arg;
> > cmd->stop_src = v32.stop_src;
> > cmd->stop_arg = v32.stop_arg;
> > -   cmd->chanlist = compat_ptr(v32.chanlist);
> > +   cmd->chanlist = (unsigned int __force *)compat_ptr(v32.chanlist);
> > cmd->chanlist_len = v32.chanlist_len;
> > cmd->data = compat_ptr(v32.data);
> > cmd->data_len = v32.data_len;
> > 
> 
> This patch and the other one in your series clash with commit 9d5d041eebe3
> ("staging: comedi: comedi_fops.c: added casts to get rid of sparse
> warnings") by B K Karthik.

Oh I see. Not sure if this is the right place to ask, but which tree and
branch should one work with when messing with the code in staging/
directory? (wanted to avoid such clashes in future)

Thanks,
Atul


[PATCH v2 1/2] staging: comedi: cast function output to assigned variable type

2021-02-18 Thread Atul Gopinathan
Fix the following warning generated by sparse:

drivers/staging//comedi/comedi_fops.c:2956:23: warning: incorrect type in 
assignment (different address spaces)
drivers/staging//comedi/comedi_fops.c:2956:23:expected unsigned int 
*chanlist
drivers/staging//comedi/comedi_fops.c:2956:23:got void [noderef]  *

compat_ptr() has a return type of "void __user *"
as defined in "include/linux/compat.h"

cmd->chanlist is of type "unsigned int *" as defined
in drivers/staging/comedi/comedi.h" in struct
comedi_cmd.

Signed-off-by: Atul Gopinathan 
---
 drivers/staging/comedi/comedi_fops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/comedi_fops.c 
b/drivers/staging/comedi/comedi_fops.c
index e85a99b68f31..fc4ec38012b4 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -2953,7 +2953,7 @@ static int get_compat_cmd(struct comedi_cmd *cmd,
cmd->scan_end_arg = v32.scan_end_arg;
cmd->stop_src = v32.stop_src;
cmd->stop_arg = v32.stop_arg;
-   cmd->chanlist = compat_ptr(v32.chanlist);
+   cmd->chanlist = (unsigned int __force *)compat_ptr(v32.chanlist);
cmd->chanlist_len = v32.chanlist_len;
cmd->data = compat_ptr(v32.data);
cmd->data_len = v32.data_len;
-- 
2.27.0