"John D. Baker" <jdbaker%mylinuxisp.com@localhost> writes: > On Mon, 18 Jun 2012, Greg Troxel wrote: > >> I would read the code where the complaint is and see what's going on. > > The line the compiler references is an automatic structure-pointer > declaration inside the opening brace of an "else" clause. It does > not appear as an lvalue in that block, but is deferenced several times, > so the compiler complains. > > The content of the pointer (the address of a "struct ip6_frag") is > initialized by a call to "ip6_insertfraghdr()" whose last argument is > a "struct ip6_frag **". The call rightly occurs before the first > use of "ip6f". > > I see nothing related to any *IPSEC conditionals that would affect > the code organization related to the compiler's complaint. > > So, I guess why does it complain compiling NET4501 but not when compiling > a GENERIC-based kernel with IPSEC* options enabled? It takes pretty sophisticated code analysis to prove that the procedure always initializes the pointer it is passed, so I find it odd that the compiler has never complained before, rather than that it's complaining now. What if you just initialize the variable to NULL?
Attachment:
pgpJjD1LXI2c7.pgp
Description: PGP signature