mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
LibELF: Ignore PT_GNU_STACK headers
We always map stacks R/W (never X), so we can just ignore this header as far as I understand.
This commit is contained in:
parent
2c5cc189c5
commit
413db2d6d5
Notes:
sideshowbarker
2024-07-19 03:24:39 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/413db2d6d5a
2 changed files with 6 additions and 0 deletions
|
@ -197,6 +197,11 @@ bool validate_program_headers(const Elf32_Ehdr& elf_header, size_t file_size, u8
|
|||
return false;
|
||||
}
|
||||
break;
|
||||
case PT_GNU_STACK:
|
||||
if (program_header.p_flags & PF_X) {
|
||||
dbgprintf("Possible shenanigans! Validating an ELF with executable stack.\n");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// Not handling other program header types in other code so... let's not surprise them
|
||||
dbgprintf("Found program header (%zu) of unrecognized type %x!\n", header_index, program_header.p_type);
|
||||
|
|
|
@ -469,6 +469,7 @@ typedef struct {
|
|||
|
||||
#define PT_GNU_EH_FRAME 0x6474e550 /* Exception handling info */
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
||||
#define PT_GNU_STACK 0x6474e551 /* Stack permissions info */
|
||||
|
||||
#define PT_OPENBSD_RANDOMIZE 0x65a3dbe6 /* fill with random data */
|
||||
#define PT_OPENBSD_WXNEEDED 0x65a3dbe7 /* program performs W^X violations */
|
||||
|
|
Loading…
Add table
Reference in a new issue