Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NET4501 w/options IPSEC breaks ipv6 at compile time?



"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: pgpMDxq6ANk1P.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index