2. Run the compiled program in Asterinas.
### Expected behavior
Asterinas reports `attempt to add with overflow` panic and is terminated.
### Environment
- Official docker asterinas/asterinas:0.6.2
- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
- Asterinas version: main 562e6443
### Logs
~ # /root/munmap.c
panicked at /root/asterinas/kernel/aster-nix/src/vm/vmar/mod.rs:167:43:
attempt to add with overflow
Printing stack trace:
1: fn 0xffffffff888695b0 - pc 0xffffffff888695c8 / registers:
Describe the bug
There is a add with overflow error in
find_free_region()
at kernel/aster-nix/src/vm/vmar/mod.rs:167 when make ammap
syscall with largesize
.https://github.com/asterinas/asterinas/blob/562e64437584279783f244edba10b512beddc81d/kernel/aster-nix/src/vm/vmar/mod.rs#L167
To Reproduce
mmap
:int main() { void *addr = mmap(NULL, 0xfffffffffffff000, 0x3, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
return 0; }
~ # /root/munmap.c panicked at /root/asterinas/kernel/aster-nix/src/vm/vmar/mod.rs:167:43: attempt to add with overflow Printing stack trace: 1: fn 0xffffffff888695b0 - pc 0xffffffff888695c8 / registers:
2: fn 0xffffffff88869390 - pc 0xffffffff88869508 / registers:
3: fn 0xffffffff88049000 - pc 0xffffffff8804900a / registers:
4: fn 0xffffffff889a8690 - pc 0xffffffff889a8712 / registers:
5: fn 0xffffffff88983e50 - pc 0xffffffff88983e7e / registers:
6: fn 0xffffffff88470450 - pc 0xffffffff884707f7 / registers:
7: fn 0xffffffff884742b0 - pc 0xffffffff88474c1a / registers:
8: fn 0xffffffff8855aa00 - pc 0xffffffff8855ab86 / registers:
9: fn 0xffffffff8855b6d0 - pc 0xffffffff8855b824 / registers:
10: fn 0xffffffff8844e2f0 - pc 0xffffffff8844f4da / registers:
11: fn 0xffffffff8844e000 - pc 0xffffffff8844e168 / registers:
12: fn 0xffffffff8856ded0 - pc 0xffffffff88572b3c / registers:
13: fn 0xffffffff880df4c0 - pc 0xffffffff880df54e / registers:
14: fn 0xffffffff882db7a0 - pc 0xffffffff882dc31f / registers:
15: fn 0xffffffff883ffc40 - pc 0xffffffff883ffc4e / registers:
16: fn 0xffffffff887c0770 - pc 0xffffffff887c0786 / registers:
17: fn 0xffffffff887a61e0 - pc 0xffffffff887a6249 / registers:
18: fn 0x0 - pc 0x0 / registers:
[OSDK] The kernel seems panicked. Parsing stack trace for source lines: ( 1) /root/asterinas/ostd/src/panicking.rs:107 ( 2) /root/asterinas/ostd/src/panicking.rs:59 ( 3) 0yfjuqijmdltwb3g9ceg2tyxs:? ( 4) ??:? ( 5) ??:? ( 6) axbvs75vp1k66nwsaobv39t4g:? ( 7) /root/asterinas/kernel/aster-nix/src/vm/vmar/mod.rs:607 ( 8) /root/asterinas/kernel/aster-nix/src/vm/vmar/vm_mapping.rs:102 ( 9) /root/asterinas/kernel/aster-nix/src/vm/vmar/vm_mapping.rs:695 ( 10) /root/asterinas/kernel/aster-nix/src/syscall/mmap.rs:137 ( 11) /root/asterinas/kernel/aster-nix/src/syscall/mmap.rs:33 ( 12) /root/asterinas/kernel/aster-nix/src/syscall/mod.rs:220 ( 13) /root/asterinas/kernel/aster-nix/src/syscall/mod.rs:328 ( 14) /root/asterinas/kernel/aster-nix/src/thread/task.rs:69 ( 15) /root/.rustup/toolchains/nightly-2024-06-20-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:79 ( 16) /root/.rustup/toolchains/nightly-2024-06-20-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2077 ( 17) /root/asterinas/ostd/src/task/task/mod.rs:310