* [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type @ 2021-02-18 8:44 Atul Gopinathan 2021-02-18 8:44 ` [PATCH v2 2/2] staging: comedi: cast function argument to expected type (void __user *) Atul Gopinathan 2021-02-18 10:31 ` [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Ian Abbott 0 siblings, 2 replies; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 8:44 UTC (permalink / raw) To: gregkh; +Cc: devel, abbotti, linux-kernel, 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] <asn:1> * 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 <atulgopinathan@gmail.com> --- 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/2] staging: comedi: cast function argument to expected type (void __user *) 2021-02-18 8:44 [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Atul Gopinathan @ 2021-02-18 8:44 ` Atul Gopinathan 2021-02-18 10:31 ` [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Ian Abbott 1 sibling, 0 replies; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 8:44 UTC (permalink / raw) To: gregkh; +Cc: devel, abbotti, linux-kernel, Atul Gopinathan Resolve the following sparse warning: drivers/staging//comedi/comedi_fops.c:2983:41: warning: incorrect type in argument 1 (different address spaces) drivers/staging//comedi/comedi_fops.c:2983:41: expected void [noderef] <asn:1> *uptr drivers/staging//comedi/comedi_fops.c:2983:41: got unsigned int *chanlist cmd->chanlist is of type (unsigned int *) as defined in "struct comedi_cmd" in file drivers/staging/comedi/comedi.h The function "ptr_to_compat()" expects argument of type (void __user *) as defined in include/linux/compat.h Signed-off-by: Atul Gopinathan <atulgopinathan@gmail.com> --- 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 fc4ec38012b4..8b2672c3c408 100644 --- a/drivers/staging/comedi/comedi_fops.c +++ b/drivers/staging/comedi/comedi_fops.c @@ -2980,7 +2980,7 @@ static int put_compat_cmd(struct comedi32_cmd_struct __user *cmd32, v32.stop_src = cmd->stop_src; v32.stop_arg = cmd->stop_arg; /* Assume chanlist pointer is unchanged. */ - v32.chanlist = ptr_to_compat(cmd->chanlist); + v32.chanlist = ptr_to_compat((void __user *)cmd->chanlist); v32.chanlist_len = cmd->chanlist_len; v32.data = ptr_to_compat(cmd->data); v32.data_len = cmd->data_len; -- 2.27.0 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 8:44 [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Atul Gopinathan 2021-02-18 8:44 ` [PATCH v2 2/2] staging: comedi: cast function argument to expected type (void __user *) Atul Gopinathan @ 2021-02-18 10:31 ` Ian Abbott 2021-02-18 10:47 ` Atul Gopinathan 1 sibling, 1 reply; 12+ messages in thread From: Ian Abbott @ 2021-02-18 10:31 UTC (permalink / raw) To: Atul Gopinathan, gregkh; +Cc: devel, linux-kernel 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] <asn:1> * > > 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 <atulgopinathan@gmail.com> > --- > 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 <abbotti@mev.co.uk> || 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 )=- _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 10:31 ` [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Ian Abbott @ 2021-02-18 10:47 ` Atul Gopinathan 2021-02-18 12:21 ` Greg KH 0 siblings, 1 reply; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 10:47 UTC (permalink / raw) To: Ian Abbott, gregkh; +Cc: devel, linux-kernel On Thu, Feb 18, 2021 at 10:31:15AM +0000, 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] <asn:1> * > > > > 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 <atulgopinathan@gmail.com> > > --- > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 10:47 ` Atul Gopinathan @ 2021-02-18 12:21 ` Greg KH 2021-02-18 12:52 ` Atul Gopinathan 0 siblings, 1 reply; 12+ messages in thread From: Greg KH @ 2021-02-18 12:21 UTC (permalink / raw) To: Atul Gopinathan; +Cc: devel, Ian Abbott, linux-kernel On Thu, Feb 18, 2021 at 04:17:55PM +0530, Atul Gopinathan wrote: > On Thu, Feb 18, 2021 at 10:31:15AM +0000, 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] <asn:1> * > > > > > > 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 <atulgopinathan@gmail.com> > > > --- > > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 12:21 ` Greg KH @ 2021-02-18 12:52 ` Atul Gopinathan 2021-02-18 13:46 ` Greg KH 2021-02-18 15:51 ` Dan Carpenter 0 siblings, 2 replies; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 12:52 UTC (permalink / raw) To: Greg KH; +Cc: devel, linux-kernel 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 +0000, 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] <asn:1> * > > > > > > > > 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 <atulgopinathan@gmail.com> > > > > --- > > > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 12:52 ` Atul Gopinathan @ 2021-02-18 13:46 ` Greg KH 2021-02-18 14:12 ` Atul Gopinathan 2021-02-18 15:51 ` Dan Carpenter 1 sibling, 1 reply; 12+ messages in thread From: Greg KH @ 2021-02-18 13:46 UTC (permalink / raw) To: Atul Gopinathan; +Cc: devel, linux-kernel 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 +0000, 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] <asn:1> * > > > > > > > > > > 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 <atulgopinathan@gmail.com> > > > > > --- > > > > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 13:46 ` Greg KH @ 2021-02-18 14:12 ` Atul Gopinathan 0 siblings, 0 replies; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 14:12 UTC (permalink / raw) To: Greg KH; +Cc: devel, linux-kernel 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 +0000, 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] <asn:1> * > > > > > > > > > > > > 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 <atulgopinathan@gmail.com> > > > > > > --- > > > > > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 12:52 ` Atul Gopinathan 2021-02-18 13:46 ` Greg KH @ 2021-02-18 15:51 ` Dan Carpenter 2021-02-18 16:41 ` Atul Gopinathan 1 sibling, 1 reply; 12+ messages in thread From: Dan Carpenter @ 2021-02-18 15:51 UTC (permalink / raw) To: Atul Gopinathan; +Cc: devel, Greg KH, linux-kernel 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 +0000, 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] <asn:1> * > > > > > > > > > > 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 <atulgopinathan@gmail.com> > > > > > --- > > > > > 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 15:51 ` Dan Carpenter @ 2021-02-18 16:41 ` Atul Gopinathan 2021-02-19 6:55 ` Dan Carpenter 0 siblings, 1 reply; 12+ messages in thread From: Atul Gopinathan @ 2021-02-18 16:41 UTC (permalink / raw) To: Dan Carpenter; +Cc: devel, Greg KH, linux-kernel 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 +0000, 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] <asn:1> * > > > > > > > > > > > > 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 <atulgopinathan@gmail.com> > > > > > > --- > > > > > > 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 ever need them. :D Regards, Atul _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-18 16:41 ` Atul Gopinathan @ 2021-02-19 6:55 ` Dan Carpenter 2021-02-19 7:42 ` Atul Gopinathan 0 siblings, 1 reply; 12+ messages in thread From: Dan Carpenter @ 2021-02-19 6:55 UTC (permalink / raw) To: Atul Gopinathan; +Cc: devel, Greg KH, linux-kernel 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type 2021-02-19 6:55 ` Dan Carpenter @ 2021-02-19 7:42 ` Atul Gopinathan 0 siblings, 0 replies; 12+ messages in thread From: Atul Gopinathan @ 2021-02-19 7:42 UTC (permalink / raw) To: Dan Carpenter; +Cc: devel, Greg KH, linux-kernel 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 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-02-19 7:42 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-18 8:44 [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Atul Gopinathan 2021-02-18 8:44 ` [PATCH v2 2/2] staging: comedi: cast function argument to expected type (void __user *) Atul Gopinathan 2021-02-18 10:31 ` [PATCH v2 1/2] staging: comedi: cast function output to assigned variable type Ian Abbott 2021-02-18 10:47 ` Atul Gopinathan 2021-02-18 12:21 ` Greg KH 2021-02-18 12:52 ` Atul Gopinathan 2021-02-18 13:46 ` Greg KH 2021-02-18 14:12 ` Atul Gopinathan 2021-02-18 15:51 ` Dan Carpenter 2021-02-18 16:41 ` Atul Gopinathan 2021-02-19 6:55 ` Dan Carpenter 2021-02-19 7:42 ` Atul Gopinathan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).