Hello,
On Sun, 6 Aug 2000, Ratz wrote:
> Hi,
>
> I've got a some weird problems and I've been chasing
> them for quite some time. I know I have done something
> stupid while testing like hell but I can't really
> figure it out.
>
> And I still get oops from time to time but I think
> this has nothing to do with the lvs-patch.
>
> And I attached a small beautifier patch:
>
> - I think the #ifdef / #endif is not needed anymore.
There is one "if", we can save CPU :)
> - corrected little typo I saw while reading the code.
>
> regards,
> Roberto Nibali, ratz
Hm, how can I reply to attached text. Anyway, I'll try.
The OOPS seems to be in this code:
int ipfw_output_check(struct firewall_ops *this, int pf, struct device *dev,
void *phdr, void *arg, struct sk_buff **pskb)
{
/* Locally generated bogus packets by root. <SIGH>. */
if (((struct iphdr *)phdr)->ihl * 4 < sizeof(struct iphdr)
|| (*pskb)->len < sizeof(struct iphdr))
return FW_ACCEPT;
return ip_fw_check(phdr, dev->name,
arg, IP_FW_OUTPUT_CHAIN, *pskb, SLOT_NUMBER(), 0);
}
I.e. in IP_FW_OUTPUT_CHAIN which is:
(ip_fw_chains->next->next)
By some reason ip_fw_chains->next==1. For now I don't have idea
why.
Do you play any games with creating new chains, etc? If yes,
show some names.
What is the binutils version? ld -v, CPU?
Regards
--
Julian Anastasov <ja@xxxxxx>
|