[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e75acd40-3fba-832f-0f0a-e70a55ace669@gmail.com>
Date: Fri, 2 Jun 2017 02:15:39 -0300
From: Tordek <kedrot@...il.com>
To: "Dilger, Andreas" <andreas.dilger@...el.com>
Cc: Lustre Development List <lustre-devel@...ts.lustre.org>,
James Simmons <jsimmons@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Drokin, Oleg" <oleg.drokin@...el.com>
Subject: Re: [lustre-devel] [PATCH] drivers: staging/lustre: conrpc.c - fix
sparse error: incompatible types in comparison expression (different address
spaces)
On 02/06/17 01:08, Dilger, Andreas wrote:
> On Jun 1, 2017, at 14:56, Tordek <kedrot@...il.com> wrote:
>> This is fairly minor but it reveals a few hidden warnings, could I get some feedback on it?
>
> This is a known problem, but can't immediately be fixed because it affects the interface with
> userspace tools. The correct solution is to not use struct list_head in the user interface
> at all, and we are looking into that.
>
> In the meantime, feel free to look at the warnings that are now visible after this patch is
> applied (locally on your system).
Well, changing
struct lstcon_rpc_ent *ent;
to
struct lstcon_rpc_ent __user *ent;
makes most of the post-patch warnings disappear (and it... makes sense? we're calling `copy_to_user(&ent...` a lot, so I assume ent would be pointing to userspace memory).
But if this is meant to change, maybe it's a moot point to look at it at all.
Thanks!
>
> Thanks, Andreas
>
>>
>> On 5 May 2017 10:53, "Tordek" <kedrot@...il.com> wrote:
>> This patch makes a lot of new warnings pop up, because the error is
>> blocking the rest of the file from being processed.
>>
>> On 5 May 2017 at 10:51, Guillermo O. Freschi <kedrot@...il.com> wrote:
>>> Signed-off-by: Guillermo O. Freschi <kedrot@...il.com>
>>> ---
>>> drivers/staging/lustre/lnet/selftest/conrpc.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/lustre/lnet/selftest/conrpc.c b/drivers/staging/lustre/lnet/selftest/conrpc.c
>>> index da36c55b86d3..f4578200994f 100644
>>> --- a/drivers/staging/lustre/lnet/selftest/conrpc.c
>>> +++ b/drivers/staging/lustre/lnet/selftest/conrpc.c
>>> @@ -487,7 +487,7 @@ lstcon_rpc_trans_interpreter(struct lstcon_rpc_trans *trans,
>>> sizeof(struct list_head)))
>>> return -EFAULT;
>>>
>>> - if (tmp.next == head_up)
>>> + if ((struct list_head __user *)tmp.next == head_up)
>>> return 0;
>>>
>>> next = tmp.next;
>>> --
>>> 2.11.0
>>>
>> _______________________________________________
>> lustre-devel mailing list
>> lustre-devel@...ts.lustre.org
>> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org
>
> Cheers, Andreas
> --
> Andreas Dilger
> Lustre Principal Architect
> Intel Corporation
>
>
>
>
>
>
>
--
Tordek
Powered by blists - more mailing lists