msm: pil: Fix loadable segment type check

Currently, a segment's p_type value from program head is bitwise
AND with PT_LOAD type constant to determine if it's a loadable
segment. This might cause problem when the p_type value of a
non-LOAD segment has the PT_LOAD bit set. For example, the
GNU_STACK segment.

Fix this by comparing p_type value against PT_LOAD type constant.

Change-Id: Ie293dfd3ad744fc5dab3d9a6e7992f42d609b17c
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
This commit is contained in:
Tianyi Gou
2012-06-28 17:19:37 -07:00
committed by Stephen Boyd
parent 3705270157
commit 2e8da1830f

View File

@@ -226,7 +226,7 @@ release_fw:
static int segment_is_loadable(const struct elf32_phdr *p)
{
return (p->p_type & PT_LOAD) && !segment_is_hash(p->p_flags);
return (p->p_type == PT_LOAD) && !segment_is_hash(p->p_flags);
}
/* Sychronize request_firmware() with suspend */