Jivin Rainer Keller lays it down ...
> Hi All,
> 
> We experienced mysterious memory corruptions in our router product
> configurations of uClinux. We tracked it down to iptables being the
> common element in those scenarios and were able to get a certain
> corruption to happen consistently at a fixed address (lucky) and were
> able to trap it with a register in our processor that traps on write to
> get a backtrace which pointed to this.
> 
> When using iptables xtables_insmod is called to load the iptables module
> using /sbin/modprobe. Neither the module nor modprobe are currently
> installed on our configuration (iptables support is compiled into the
> kernel and we use plain insmod currently). So the execv fails:
> 
> By using the real `exit' after the failed execv iptables modified memory
> (in fact unmapped all the heap) that was still shared between child and
> parent. When the child was done the parent continued and tried to free a
> pointer from its heap whose backing memory did not exist anymore. So it
> clobbered random memory and caused all kinds of havoc.

Applied :-)

Thanks,
Davidm


> diff --git a/iptables/xtables.c b/iptables/xtables.c
> index a309954..92314bc 100644
> --- a/iptables/xtables.c
> +++ b/iptables/xtables.c
> @@ -134,7 +134,11 @@ int xtables_insmod(const char *modname, const char
> *modprob
>         case 0:
>                 execv(argv[0], argv);
>                 /* not usually reached */
> +#ifdef __uClinux__
> +               _exit(1);
> +#else
>                 exit(1);
> +#endif
>         case -1:
>                 return -1;
> 
> This is mine and Ubicom's first patch to uClinux. I hope you find it
> useful.
> 
> Thank you for creating uClinux!
> Best Regards,
> - Rainer
> 
> 
> 
> _______________________________________________
> uClinux-dev mailing list
> [email protected]
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by [email protected]
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
> 

-- 
David McCullough,  [email protected],  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.com                http://www.uCdot.org
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to