Joe Perches <j...@perches.com> wrote: > On Wed, 2015-11-25 at 02:46 -0800, Jeff Kirsher wrote: >> On Tue, 2015-11-24 at 16:43 -0800, Joe Perches wrote: >>> On Tue, 2015-11-24 at 16:04 -0800, Jeff Kirsher wrote: >>>> From: Helin Zhang <helin.zh...@intel.com> >>>> >>>> Pointer of type void * shouldn't be used in arithmetic, which may >>>> result in compilation error. Casting of (u8 *) can be added to fix >>>> that. >>> >>> void * arithmetic is used quite frequently in the kernel. >>> >>> What compiler emits an error? >> >> When you use the gcc -Wpointer-arith, it generates the warning. > > make W=3 does that > > $ make help > [...] > make W=n [targets] Enable extra gcc checks, n=1,2,3 where > 1: warnings which may be relevant and do not occur too often > 2: warnings which occur quite often but may still be relevant > 3: more obscure warnings, can most likely be ignored > > but I think it should be ignored.
Yes. That doesn't mean that -Wpointer-arith can't catch other possible errors that may be worth fixing, but this particular type is an accepted usage in the kernel and so should be ignored - unless you find something logically wrong, which does not seem to be the case here at all. If one cared about portability to other compilers that treat void * very differently in this usage, then you would want to deal with all of these. That is not the case with the kernel. -- Mark Rustad, Networking Division, Intel Corporation
signature.asc
Description: Message signed with OpenPGP using GPGMail