Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A noob question here.

As it turns out, the first 8 pages on our hydra machines are void. This means that trying to read to or write from any address from 0 to 0xffff will result in a segmentation violation.

I have similar issue. I was following "A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux"[0]. And decided to put the start of .text section at virtual address 0x0:

    ; tiny.asm
    BITS 32

    org     0x0
    
    ;
    ; (the same as the one in the teensy elf tutorial)
    ;
It results in segmentation fault when ran as normal user. But fine when ran as super user. Changing the code to use address 0x10000 fix the problem.

My question: Is my issue because I create an elf that has .text section inside that void region? Is this void region documented somewhere? What purpose does it serve?

[0]: https://www.muppetlabs.com/~breadbox/software/tiny/teensy.ht...



You may be running afoul of mmap_min_addr:

https://wiki.debian.org/mmap_min_addr

It's a security feature meant to protect the kernel from null pointer attacks.


Thanks. It's been bugging me for a while.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: