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
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
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
340
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
880
Datadog で始める トークンセーフティなAI 導⼊と定着
vkbaba
1
100
Harness Engineering on Rails
joelq
0
570
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
150
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
140
SREへの勘違いに気づいた後の話
tomodakengo
0
160
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
510
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.4k
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
15
10k
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
270
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
360
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The browser strikes back
jonoalderson
0
1.7k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating Team Friction
lara
192
16k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
290
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
710
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
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?