#syscall
フォルダーでなくディレクトリで、ディレクトリの実体はファイルです。それにディレクトリと属性つけてるだけです。だからreaddirなんてsyscallあるの
※めんどくさいヤツ
November 16, 2025 at 11:16 AM
man 2 syscall
November 14, 2025 at 11:17 AM
Now, it makes me wonder how Interix (a *nix on top of the NT kernel) was set up. There had to be a glue library like ntdll, as NT doesn't have a stable syscall interface (unlike Linux which absolutely does), but how much it did and where the libc fit in the puzzle, I don't yet know...
November 13, 2025 at 8:02 PM
You can post about semaphores, atomics, and syscalls on LinkedIn if you want.
November 13, 2025 at 2:02 PM
you think porting libc is enough to get Linux software running in a new OS? or do programs commonly use syscalls directly which would require some kind of custom syscall handler functionality in the kernel
November 13, 2025 at 1:17 PM
Re: jyn.dev/the-terminal...

I would love to chat about the stuff I'm doing with postcard-rpc/ergot but also poststation: I'm building a typed, autodiscoverable, lightweight socket library that I'm using as a network transport library but also I want to make it my hobby os' syscall/ipc interface
the terminal of the future
To redesign infrastructure, you have to allow incremental adoption, while simultaneously moving the whole design space at once.
jyn.dev
November 11, 2025 at 9:01 PM
Thanks to @amazon for the #syscall advertisement, great deals over there :D
Via @duckduckgo
November 10, 2025 at 9:30 AM
I had to use every ounce of professionalism to not scream RTFM whenever a student asked about syscall opcodes when I taught machine structures. Like I legit even printed them out cheat sheets for that very reason, and it was really easy to tell when they’ve been groking info from Gemini or Copilot.
November 7, 2025 at 6:22 PM
Oooh! Every good story starts with some random MacOS syscall!
November 7, 2025 at 2:08 PM
⚠️ Your #containers aren't as safe as you think.

In his article, Andreas Jaekel shows how #Syscall filtering and #Seccomp make #Kubernetes safer — right at the kernel level.

✋How to stop attacks before they start: https://f.mtr.cool/ajxzitppqh

#PlatformEngineering  #DevSecOps #Security
November 3, 2025 at 10:02 AM
Really nice blog

> The first main disadvantage is that they require the kernel to support syscall tracing, which essentially means they only work on Linux.

Could DTrace not be used on macos, freebsd and windows here? Though I guess you will then suddenly need privileges.
November 2, 2025 at 5:59 PM
reverie: An ergonomic and safe syscall interception framework for Linux.
reverie: An ergonomic and safe syscall interception framework for Linux.
github.com
November 1, 2025 at 3:54 PM
i strongly suspect the reason it doesnt happen same-volume is exclusively because you can `rename.2` on the same volume, a specific linux syscall **which is atomic**. Either it succeeds and the file has moved, or it fails and it was not touched. They would have to try really hard to fuck that up.
November 1, 2025 at 4:32 AM
Reverie: An ergonomic and safe syscall interception framework for Linux https:// github.com/facebookexperimenta l/reverie

Interest | Match | Feed
Origin
mamot.fr
October 30, 2025 at 6:10 AM
Detection of indirect syscall techniques using hardware breakpoints and vectored exception handling
Detection of indirect syscall techniques using hardware breakpoints and vectored exception handling
github.com
October 29, 2025 at 7:39 PM
Project: golang/go
File: src/syscall/syscall_solaris.go:119

func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error)

SVG: dark, light
October 27, 2025 at 11:37 AM
https://tamaron.hatenablog.com/entry/2024/03/24/010752

> aarchではsvc命令でシステムコールを発行する。(x64でいうsyscall) Linuxではx0~x7にシステムコールの引数。x8にシステムコールの番号を入れてからsvc 0で呼び出すことがわかる。 (SVC命令は即値を取れるが、どうやらLinuxでは使われてないっぽい。) Linuxカーネル側でも確かにレジスタがこのように使われていることが確認できる。
AArch64 (Arm v8) についてのメモ (レジスタ,関数呼び出し,システムコール)
AArch64→x86-64のバイナリ変換について調べていときのAArch64のメモ ## Instruction Set Arm v8は3つの命令セットをサポートしている。 * A32 (=ARM) * T32 (=Thumb2) * A64 A32とT32はどちらも32bitで、これらをまとめてAArch32という。 A32とT32は`MOV PC`, `LDR PC`などの特別な命令でモードをが切り替わる。 A64は64bitの命令セットでAArch32に対してAArch64という。 ## Registers #### GP registers * r0~r31: GPR * w0~w31: 32bitとして利用する場合の名称 * x0~x32: 64bitとして利用する場合の名称 #### Dedicated registers * r29: frame pointer(fp) * r30: link register (lr): リターンアドレス専用 * r31: ゼロレジスタ(xzr/wzr)として使われる ## Mnemonic ldrはLoad registerの略。 `[w1, 12]`は`w1+12`の意味。 ldr w0,[w1,12] ## Calling convention aapcs64ではこのように定められている。 https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#general-purpose-registers parameter passing/return valueにつかわれるレジスタはデータ型で決まる (aapcs64, 6.9節) ## 例 以下のCプログラムをコンパイルして眺めてみる。 godbolt.org struct S { char c[3000]; }; static S s; S foo() { return s; } foo(): // @foo() stp x29, x30, [sp, #-16]! // 16-byte Folded Spill mov x29, sp mov x0, x8 mov x2, #3000 // =0xbb8 adrp x1, _ZL1s add x1, x1, :lo12:_ZL1s bl memcpy ldp x29, x30, [sp], #16 // 16-byte Folded Reload ret #### 関数プロローグ pc(x30)とfp(x29)の退避が行われる。 もう一つ重要なのは、fooは無引数なのにx8をパラメータとして受け取っていること。 fooはサイズが大きな構造体を返す関数であるため、callerはメモリ領域を確保してx0を介してcalleeにそのメモリアドレスを渡す。 そして、calleeがそのアドレスに結果を書き込む。 aapcs64より: > the caller shall reserve a block of memory of sufficient size and alignment to hold the result. The address of the memory block shall be passed as an additional argument to the function in x8. The callee may modify the result memory block at any point during the execution of the subroutine #### 本体 aarchにはcall命令はないので、そのかわりにbl (branch and linkの略かな?)を使う。 memcpyの戻り値はアドレス(8byte)なのでr0で受け渡しする。 void* memcpy (void *dstpp, const void *srcpp, size_t len); #### 関数エピローグ pcとfpを復元する ## System call (Linux) glibcの実装を見てみる /* syscall (int nr, ...) AArch64 system calls take between 0 and 7 arguments. On entry here nr is in w0 and any other system call arguments are in register x1..x7. For kernel entry we need to move the system call nr to x8 then load the remaining arguments to register. */ ENTRY (syscall) uxtw x8, w0 mov x0, x1 mov x1, x2 mov x2, x3 mov x3, x4 mov x4, x5 mov x5, x6 mov x6, x7 svc 0x0 cmn x0, #4095 b.cs 1f RET 1: b SYSCALL_ERROR PSEUDO_END (syscall) https://github.com/bminor/glibc/blob/ad05a42370fa09062ff2b450fb69905d9f407643/sysdeps/unix/sysv/linux/aarch64/syscall.S aarchではsvc命令でシステムコールを発行する。(x64でいうsyscall) Linuxではx0~x7にシステムコールの引数。x8にシステムコールの番号を入れてから`svc 0`で呼び出すことがわかる。 (SVC命令は即値を取れるが、どうやらLinuxでは使われてないっぽい。) Linuxカーネル側でも確かにレジスタがこのように使われていることが確認できる。 Chromium OS Docs - Linux System Call Table b.csはbranch if carry set (carry=1)の意味。 典型的なユーザーモード(EL0)からカーネルモード(E1)のSVC命令直後は以下のように処理が進む。 * SVCによって権限昇格。(EL0->EL1) * ESR_EL1(syndrome register)にはSVCによって例外が起きたことを表す値が格納される * VBAR_EL1レジスタで指定された例外ベクタテーブルを参照する * https://elixir.bootlin.com/linux/v4.8/source/arch/arm64/kernel/entry.S#L264 * 例外ベクタテーブルの固定オフセット(IRQとFIQで異なる)に置かれたアドレスを例外ハンドラとして呼び出す。 * linux: https://elixir.bootlin.com/linux/v4.8/source/arch/arm64/kernel/entry.S#L462 * 例外ハンドラ中のsyscall(svc)ハンドラを呼び出す * linux: https://elixir.bootlin.com/linux/v6.8.1/source/arch/arm64/kernel/entry-common.c#L696 ## References * https://armkeil.blob.core.windows.net/developer/Files/pdf/graphics-and-multimedia/ARMv8_InstructionSetOverview.pdf * https://wiki.cdot.senecacollege.ca/wiki/AArch64_Register_and_Instruction_Quick_Start * Arm A64 Instruction Set Architecture * https://zenn.dev/hidenori3/articles/c9053a76be641c * aapcs64: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#the-base-procedure-call-standard * aaelf64: https://github.com/ARM-software/abi-aa/releases/download/2023Q3/aaelf64.pdf * https://stackoverflow.com/questions/76567156/how-does-arm-svc-instruction-works * https://developer.arm.com/documentation/100933/0100/AArch64-exception-vector-table
tamaron.hatenablog.com
October 27, 2025 at 3:48 AM
x86-64だとsyscallの命令とかあるけど、ARMとかどうだっけ
October 27, 2025 at 3:45 AM
Project: golang/go
File: src/syscall/dll_windows.go:188

func (d *LazyDLL) Load() error

SVG: dark, light
October 26, 2025 at 9:36 AM
i love when people insist on calling it 'gnu/linux' as if the linux syscall table is not specialized to run unix code at all. just straight up mach 8.0 or something. we need gnu for all that unix stuff
October 23, 2025 at 9:38 PM
Next problem: the modprobe for amdgpu fails in a syscall...

Next try: installing a old version of ubuntu as I've found at least one blog successfully running that setup
October 23, 2025 at 7:10 PM
Evasion layer 1: Indirect syscalls.

Instead of calling hooked functions in ntdll, the malware calculates syscall numbers from nearby unhooked functions (up to 500 away) and jumps directly to syscall instructions already in ntdll.

User-mode EDR hooks are rendered useless.
October 23, 2025 at 4:48 PM
I have my own no_std linux syscall wrappers
October 22, 2025 at 6:05 AM
Using Syscall() for Obfuscation/Fileless Activity, (Mon, Oct 20th)

I found another piece of malware this weekend. This one looks more like a proof-of-concept because the second-stage payload is really "simple", but it attracted my attention because it uses a nice technique to ob…

#hackernews #news
Using Syscall() for Obfuscation/Fileless Activity, (Mon, Oct 20th)
I found another piece of malware this weekend. This one looks more like a proof-of-concept because the second-stage payload is really "simple", but it attracted my attention because it uses a nice technique to obfuscate the code.
isc.sans.edu
October 21, 2025 at 2:52 AM
SANS Stormcast Tuesday, October 21st, 2025: Syscall() Obfuscation; AWS down; Beijing Time Attack
https://isc.sans.edu/podcastdetail/9664
October 20, 2025 at 10:45 PM