In the function copy_syms, the kernel copies the symtab and the strtab somewhere after the end and then saves the final end to esym. But, in the real code, the esym just gets the end of the strtab but not the final end, because the symtab will follow the strtab in some cases. The code conflicts with the comments above, right? Thanks for any tips.