A few weeks back, I got tired of not trusting wipe data/factory reset from any ICS-based kernel's recovery so I put together a small ODIN utility to wipe /cache and /data
Here it is if anyone is interested:
SPH-D710.ODIN_WIPE_CACHE_DATA.exe
You just double-click in windows, boot your phone to ODIN DL mode, and press Start.
No need to flash GB-based kernel/recovery just to do wipe data/factory reset then flash back to ICS-based kernel.
To be clear, the purpose is to have a "safe" replacement for wipe data/factory reset (recovery option) until we get the "fixed" kernels. It will wipe /cache and /data only, which is what wipe data/factory reset does. It will NOT wipe /system nor will it wipe your kernel.
In case people are not aware, there is a bug in the EMMC firmware (likely wear-level code) where if you issue an mmc_erase() it may result in a lockup/superbrick(). The reason it doesn't happen in GB is because GB doesn't use mmc_erase(). In ICS they added mmc_erase() into the code path initiated from make_ext4fs(). This is used by wipe data/factory reset in Recovery which is why we sometimes see the lockup/superbrick. Given that the problem is likely in the wear-level EMMC firmware code, it may not get triggered all the time even if mmc_erase() is called, but we are at risk whenever it is called.
As usual, you should be careful when flashing anything. I've been using this for 2 weeks now to test releases and haven't had any issues.