| 12 Nov 2025 |
Tristan Ross | Yeah, which I don't but ChatGPT is just confident it's AppArmor lol | 06:11:33 |
Mic92 | It's definitely the mmap syscall requesting that returns eperm | 06:12:33 |
Mic92 | You could even ask it to write an mmap call on these parameters to reproduce it | 06:13:30 |
Mic92 | I just don't know which load segment is off. My brain cannot parse these unaligned columns from the phone | 06:14:34 |
Tristan Ross | $ zcat /proc/config.gz | grep CONFIG_STRICT_KERNEL_RWX
CONFIG_STRICT_KERNEL_RWX=y
Could this be a problem?
| 06:14:54 |
Tristan Ross | ChatGPT says it could be lol | 06:15:06 |
Mic92 | No we don't map as executable here if i interpret correctly | 06:16:06 |
Mic92 |
mmap(0xf000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = -1 EPERM (Operation not permitted) | 06:16:19 |
Mic92 | Only read/write | 06:16:32 |
Mic92 | Figure out what 3 is here | 06:16:59 |
Mic92 | Run strace with -yy | 06:17:15 |
dramforever | 0xf000 is sus | 06:17:29 |
Mic92 | This gives you file descriptors | 06:17:33 |
dramforever | is it below the minimum address limit | 06:17:38 |
Mic92 | In reply to @dramforever:matrix.org 0xf000 is sus I agree | 06:17:47 |
Mic92 | What's allowed on RISC-V? | 06:18:05 |
Tristan Ross | I set sudo sysctl -w vm.mmap_min_addr=4096 and GCC works | 06:18:15 |
dramforever | the other thing is it may be relevant to us enabling PIE recently | 06:18:41 |
dramforever | ish | 06:18:45 |
dramforever | recent-ish | 06:18:49 |
dramforever | i'm starting to think maybe you shouldn't be on 6.6 | 06:19:14 |
Tristan Ross | The bootstrap-tools GCC is from last year, I thought PIE was within the last couple months | 06:19:14 |
dramforever | although it really also shouldn't be breaking | 06:19:35 |
Mic92 | Check if the binary is supposes to be relocatable with checkseck | 06:19:44 |
Tristan Ross | I shouldn't be but Ubuntu is all that's available until my USB flash drive comes tomorrow and I finish porting NixOS | 06:19:50 |
Mic92 | * Check if the binary is supposed to be relocatable with checkseck | 06:20:02 |
Tristan Ross | Also, the vendor kernel for this system is only 6.6 | 06:20:36 |
dramforever | okay just give me a run down on what works and what doesn't | 06:20:57 |
dramforever | from the start | 06:21:01 |
Tristan Ross | Entire coreutils, gawk (if I update bootstrap-tools), patchelf (if I update bootstrap-tools), sed (if I update bootstrap-tools). | 06:21:39 |