static int validate_section_offset(struct load_info *info, Elf_Shdr *shdr)
{
	unsigned long secend;

	/*
	 * Check for both overflow and offset/size being
	 * too large.
	 */
	secend = shdr->sh_offset + shdr->sh_size;
	if (secend < shdr->sh_offset || secend > info->len)
		return -ENOEXEC;

	return 0;
}
static int validate_section_offset(struct load_info *info, Elf_Shdr *shdr)
{
	unsigned long secend;

	 
	secend = shdr->sh_offset + shdr->sh_size;
	if (secend < shdr->sh_offset || secend > info->len)
		return -ENOEXEC;

	return 0;
}