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
USB PDを使ってスマホを労わりたい
raspython3
0
180
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
460
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Kiro Crewをはじめよう
kizawa2020
1
160
Local CI × GitHub Actions
gogutan
2
200
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
250
Metadata - Section 1: HTML Basics
mohab1
0
120
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Building AI with AI
inesmontani
PRO
1
1.3k
Google's AI Overviews - The New Search
badams
0
1.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
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?