summary refs log tree commit diff
path: root/kernel_loader
diff options
context:
space:
mode:
authorDaniel Verkamp <dverkamp@chromium.org>2019-01-15 10:54:02 -0800
committerchrome-bot <chrome-bot@chromium.org>2019-01-16 01:46:56 -0800
commit1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99 (patch)
tree2f69272cb3dd6cdb500cf89eaee91ae295f92d8f /kernel_loader
parent92f73d73d04bdc973fe89e2c1682a1c3cc03fe49 (diff)
downloadcrosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar.gz
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar.bz2
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar.lz
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar.xz
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.tar.zst
crosvm-1c9e1cce1604aa1629fe4ade9dd81a6b6e0fbb99.zip
kernel_loader: fix ELF Phdr p_type comparison
The program header p_type field is an enumerated value, not a bitfield.

BUG=None
TEST=Boot a kernel

Change-Id: I5327cc8de9d8401a74c86fd4f3deab9f390c0924
Signed-off-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1412835
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Diffstat (limited to 'kernel_loader')
-rw-r--r--kernel_loader/src/lib.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel_loader/src/lib.rs b/kernel_loader/src/lib.rs
index 13ada13..b0fdf66 100644
--- a/kernel_loader/src/lib.rs
+++ b/kernel_loader/src/lib.rs
@@ -119,7 +119,7 @@ where
 
     // Read in each section pointed to by the program headers.
     for phdr in &phdrs {
-        if (phdr.p_type & elf::PT_LOAD) == 0 || phdr.p_filesz == 0 {
+        if phdr.p_type != elf::PT_LOAD || phdr.p_filesz == 0 {
             continue;
         }