Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
syscalls - gate to the linux kernel
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Bernhard M. Wiedemann
June 27, 2016
Technology
430
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
930
Other Decks in Technology
See All in Technology
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
あるけみー式LTスライド作成術
alchemy1115
1
210
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
4.2k
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
23
16k
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
0
120
SREは、MCPとAutopilotをこう使え!
kazumax55
2
820
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
160
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.6k
AI に書かせたその API、 “信頼” できますか?
nagix
0
110
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
870
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Everyday Curiosity
cassininazir
0
320
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
Ethics towards AI in product and experience design
skipperchong
2
370
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
The Limits of Empathy - UXLibs8
cassininazir
1
670
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
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?