lkml.org 
[lkml]   [2016]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86: suppress sparse warning in copy_to_user()
>>> On 04.10.16 at 10:02, <johannes@sipsolutions.net> wrote:
> On Tue, 2016-10-04 at 01:51 -0600, Jan Beulich wrote:
>> >
>> > >
>> > > >
>> > > > On 04.10.16 at 09:33, <johannes@sipsolutions.net> wrote:
>> > From: Johannes Berg <johannes.berg@intel.com>
>> >
>> > __compiletime_object_size() is simply defined to
>> > __builtin_object_size()
>> > which gcc declares with (void *, int type) prototype.
>>
>> If that was the case, everyone should have seen such warnings from
>> the day the original patch got introduced.
>
> Only if they run sparse. Clearly people don't, or we wouldn't have a
> history of a ton of such problems, e.g.

No - you say "which gcc declares with (void *, int type) prototype".
If that was the case, there would need to be a warning.

>> And the compiler warnings
>> I get when testing with all four combinations of const and volatile
>> also supports this by saying "expected 'const void *' but ..."
>
> It's not a compiler warning though that I'm getting.
>
> What tool are you using to get such a warning?

I'm talking about gcc and the warning surfacing when I additonally
add volatile.

> On gcc 6.1.1, I'm getting no warning (from the compiler) either way,
> even with W=2, and the gcc documentation notes the fact that it treats
> it as passing void *:
>
> https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html

Perhaps it's just the documentation which is imprecise here?

Jan

\
 
 \ /
  Last update: 2016-10-04 10:35    [W:0.100 / U:0.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site