In my case I have got 4.1.2 JB, firmware 15.1.C.2.8, and due to locked bootloader and ric service this guide is not working. The framaroot teoretically gives root but it can't install su binaries, so SuperSu is not working.
I got root with Kingroot 4.6.2, and my smartphone has seen over one hundred restarts due to ric in three days after rooting. I can say that without reboot-fixer the root made by Kingroot is totally unstable - phone gets restarted when trying to configure kingroot, check the root status by kingroot or anything more system specific. Even uninstall procedure for Kingroot is not working due to ric - phone gets restarted when Kingroot is trying to remove root. I think that it is deep bug in Kingroot software - when installing root it probably kills ric service, but later it doesn't touch ric service.
Due to Kingroot protection own files mechanism it protects install-recovery.sh file from editing by immune flag or replaces modified file to previous one or restores deleted file. So reboot-fixer can't be applied easy way.
The only solution I have found to apply reboot-fixer was by using Flashtool. When adb gets root privilages Flashtool automatically kills ric service. Due to some non-understandable reasons, when I expanded install-recovery.sh with lines to kill ric service on start, Kingroot has removed my modifications but has added /system/etc/install-recovery-2.sh line as well. It was the breaking point for me because install-recovery-2.sh wasn't protected at all. So I set 755 on it and add needed lines to it.
Now I have full root, second partition on SD card, apps moved with link2sd (Xperia M doesn't support App2sd at all). The only thing what has left is replacing Kingroot with SuperSu.
EDIT: i tried to install SuperSu from google play, when opened it gets root privilages but then it says that su binaries needs to be updated, and when I try, it says that su binaries update was unsuccessful and closing itself. Maybe kingroot is blocking itself su binaries from changing.