You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
This post is the first post in linux kernel series. Writing code to run in the kernel is different from user application. While developing in the kernel, you don’t write code from scratch, you need to implement one or more interfaces and register your implementation within the a kernel subsystem. Kernel Interfaces The kernel is written in C , so create an interface we use a structure with function
The random-number generation facilities in the kernel have been reworked some over the past few months—but problems in that subsystem have been addressed over an even longer time frame. The most recent changes were made to stop the getrandom() system call from blocking for long periods of time at system boot, but the underlying cause was the behavior of the blocking random pool. A recent patch set
Learn how Linux/FFmpeg C partial codebase is organized to be extensible and act as if it were meant to have “polymorphism”. Specifically, we’re going to briefly explore how Linux concept of everything is a file works at the source code level as well as how FFmpeg can add support fast and easy for new formats and codecs. Good software design – Introduction To write useful and long term maintainable
The Linux Kernel API¶ List Management Functions¶ void INIT_LIST_HEAD(struct list_head *list)¶ Initialize a list_head structure Parameters struct list_head *listlist_head structure to be initialized. Description Initializes the list_head to point to itself. If it is a list header, the result is an empty list.
Linux kernelをUnikraftのライブラリ化した. これにより機能の少ないUnikernelの資源として Linux kernelの持つ機能を利用することが可能となる. 背景 Linux Kernel Library Linux kernelはよくメンテナンスされている成熟した オープンソースなOSの代表であるが, 近年その機能を効率よく再利用しようとする動きがある. Linux Kernel Library (LKL) はその一つであり, 最小限のコストでLinux kernelをanykernelと呼ばれる 形態のLibrary OSとして利用するものである. LKLは現在公式のLinux kernelには含まれていないが 活発に開発がなされており, 現時点でv4.19がサポートされている. 以下にLKLの構成を示す. LKLの構成 LKLはlklというホスト非依存なアーキ
Documentation extracted from the Linux kernel and mirrored on the web where Google can find it: html/latest - Kernel Documentation (mainline) html/next - Kernel Documentation (linux-next) README various README files scattered around Linux kernel source Output of kernel's "make help". Standards documents applicable to the Linux kernel Single Unix Specification v4 (Also known as Open Group Base Spec
Linux kernel TCP 実装にサービス運用妨害 (DoS) の脆弱性(CVE-2018-5390) について解説Linuxkernel脆弱性vulnerability はじめに JVNVU#91510483 複数の TCP 実装にサービス運用妨害 (DoS) の脆弱性 がアナウンスされましたのでどういう脆弱性か調査してみます。 リソース枯渇の脆弱性 (CWE-400) - CVE-2018-5390 Linux カーネルに対し、tcp_collapse_ofo_queue() や tcp_prune_ofo_queue() 関数による処理がパケット毎に行われるよう細工したパケットを送りつけることで、サービス運用妨害 (DoS) 攻撃が可能であることが報告されています。 この脆弱性に対し、攻撃者は TCP セッション中に細工したパケットを送ることで攻撃を行います。DoS 状態を維持
What every programmer should know about memory, Part 1 [Editor's introduction: Ulrich Drepper recently approached us asking if we would be interested in publishing a lengthy document he had written on how memory and software interact. We did not have to look at the text for long to realize that it would be of interest to many LWN readers. Memory usage is often the determining factor in how softwar
CVE-2018-14634(Integer overflow in Linux's create_elf_tables function)でRed Hatのbugzillaを見ていて軽減策としてsystemtapでlivepatch的なことをしていて面白いな〜って思ったのでめもです。 環境はFedora 28で、カーネルのバージョンは4.18.9-200です。systemtapを使っているのでkernel-debuginfoパッケージも入れてます。 utsname構造体のnodenameを書き換えてホスト名を変えてみたいと思います。まずは初期状態はこうです。kerntestがnodenameになります。 masami@kerntest:~$ uname -a Linux kerntest 4.18.9-200.fc28.x86_64 #1 SMP Thu Sep 20 02:43:23
linux-insides A book-in-progress about the linux kernel and its insides. The goal is simple - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter. Feel free to go through the book Start here Questions/Suggestions: Feel free about any questions or suggestions by pinging me at twitter @0xAX,
In this post I want to explore the costs of threads on modern Linux machines, both in terms of time and space. The background context is designing high-load concurrent servers, where using threads is one of the common schemes. Important disclaimer: it's not my goal here to provide an opinion in the threads vs. event-driven models debate. Ultimately, both are tools that work well in some scenarios
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
はじめに Linuxカーネル(以下カーネルと表記)の外部ユーザ空間とのインターフェースはシステムコールが増えることはあっても既存のものが変更されることはほとんどなく、極力互換性が保たれるようになっています。しかしカーネル内部のインターフェースはめまぐるしく変わります1。本記事ではその一例として、カーネル内で一定時間後に所定の処理を呼び出すタイマーという機能のインターフェースが変更された話、およびその影響について紹介いたします。 何もしてないのにビルドできなくなった 筆者が昔々、およそ8年前書いた以下のカーネルモジュールのコードを本日カーネルv4.18のモジュールとしてビルドすると★★★と書いた行でエラーが出ました。 #include <linux/module.h> #include <linux/timer.h> MODULE_LICENSE("GPL v2"); MODULE_AUTH
テストのために、AWSのAmazon Linuxのインスタンスをカーネルレベルでハングアップさせたかったので、テスト用のカーネルモジュールを作ってみました。 できること カーネルのハングアップ(ping応答もできないレベル。プリエンプションをdisableにして実現) 中途半端なハングアップ(ping応答は帰るレベル。リエンプションはenable) カーネルパニック(echo c > /proc/sysrq-triggerと同じ) 使い方 カーネルモジュールのビルド コードはGitHubにあります。 github.com (1) 必要なパッケージのインストール カーネルモジュールのビルドに、gccとkernel-develが必要になります。(Amazon Linuxの場合) sudo yum -y install git gcc kernel-devel(2) ソースコードをローカルに持っ
Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts I'll cover memory with an eye towards practical aspects, but without shying away from internals. While the concepts are generic, examples are mostly from Linux and Windows on 32-bit x86. This first post describes how programs are laid out in memory. Each process
新社会人でカーネルを触り始める人がどれだけいるか分からないですが、社内向けにこんなページあるよって紹介したので、一般的にも何か役立つかもと思ったので書いておきます。 The Linux Kernel Archives https://www.kernel.org とりあえず mainline の最新パッチや stable, logterm を確認したければここ。 Linuxカーネルのgitリポジトリ https://git.kernel.org/cgit/ 細かく分かれすぎて謎だが、各アーキテクチャやコンポーネント単位で区切られているはず。 Linux Kenrel Mailing List (LKML) https://lkml.org カーネルの議論やパッチ内容をあれこれ言うメーリングリストのアーカイブ。lkmlに登録すると山のようにメールが来るので、特定の話題だけピックアップしたいな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く