Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
syscalls - gate to the linux kernel
Search
Bernhard M. Wiedemann
June 27, 2016
Technology
420
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
syscalls - gate to the linux kernel
https://events.opensuse.org/conference/oSC16/program/proposal/840
Bernhard M. Wiedemann
June 27, 2016
More Decks by Bernhard M. Wiedemann
See All by Bernhard M. Wiedemann
reproducible builds and openSUSE
bmwiedemann
0
920
Other Decks in Technology
See All in Technology
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
440
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
350
人とエージェントが高め合う協業設計
kintotechdev
0
740
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
520
Type-safe IaC for Dart
coborinai
0
180
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
770
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
530
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
260
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
200
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
4
420
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
740
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
280
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Mind Mapping
helmedeiros
PRO
1
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Bash Introduction
62gerente
615
220k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
YesSQL, Process and Tooling at Scale
rocio
174
15k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
730
Writing Fast Ruby
sferik
630
63k
Transcript
Syscalls openSUSE Conference 2016 By Bernhard M. Wiedemann bwiedemann@SUSE
© ScotXW / Wikipedia License: CC BY-SA 3.0
An Example #include <stdio.h> int main() { printf("Hello World!\n"); return
0; }
In the glibc • /usr/include/asm-generic/unistd.h: #define __NR_write 64 __SYSCALL(__NR_write, sys_write)
vDSO > ldd hello1 linux-vdso.so.1 (0x00007fffa07e2000) libc.so.6 => /lib64/libc.so.6 (0x00007fb892c48000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb893018000)
On the Kernel-Side • http://lxr.free-electrons.com/source/fs/open.c#L1023 SYSCALL_DEFINE3(open, const char __user *,
filename, int, flags, umode_t, mode) { if (force_o_largefile()) flags |= O_LARGEFILE; return do_sys_open(AT_FDCWD, filename, flags, mode); }
bootcd:/ # echo newuser::500:500:TestUser:/home/newuser:/bin/bash >>/etc/passwd bash: /etc/passwd: Readonly file system
bootcd:/ # insmod translucency Using /lib/modules/2.4.184GB/kernel/fs/translucency.o bootcd:/ # echo "/ > /var/tmp" > /proc/sys/translucency/0 bootcd:/ # echo newuser::500:500:TestUser:/home/newuser:/bin/bash >>/etc/passwd bootcd:/ # tail 3 /etc/passwd perforce:x:68:60:perfoce admin:/var/lib/perforce:/bin/false nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash newuser::500:500:TestUser:/home/newuser:/bin/bash bootcd:/ # echo > /proc/sys/translucency/0 bootcd:/ # rmmod translucency bootcd:/ # tail 3 /etc/passwd pop:x:67:100:pop admin:/var/lib/pop:/bin/false perforce:x:68:60:perfoce admin:/var/lib/perforce:/bin/false nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash bootcd:/ # ls l /var/tmp/etc/ total 4 drwxrxrx 2 root root 0 May 11 15:51 . drwxrwxrwt 6 root root 0 May 11 15:51 .. rwrr 1 root root 2852 May 11 15:51 passwd bootcd:/ # What else you can do with syscalls
Thanks • Questions?