Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

LPC2018 - What could be done in the kernel to make strace happy

Автор: Linux Plumbers Conference

Загружено: 2018-12-03

Просмотров: 308

Описание:

url: https://linuxplumbersconf.org/event/2...
speaker: Dmitry Levin (BaseALT), Elvira Khabirova (BaseALT), Eugene Syromyatnikov (RedHat)


What could be done in the kernel to make strace happy.
Being a traditional tool with a long history, strace has been making every effort to overcome various deficiencies in the kernel API. Unfortunately, some of these workarounds are fragile, and in some cases no workaround is possible. In this talk maintainers of strace will describe these deficiencies and propose extensions to the kernel API so that tools like strace could work in a more reliable way.

1
Problem: there is no kernel API to find out whether the tracee is entering or exiting syscall.

Current workarounds: strace does its best to sort out and track ptrace events, this works in most cases, but in case of strace attaching to a tracee being inside exec when its first syscall stop is syscall-exit-stop instead of syscall-enter-stop, the workaround is fragile, and in infamous case of int 0x80 on x86_64 there is no reliable workaround.

Proposed solution: extend the ptrace API with PTRACE_GET_SYSCALL_INFO request.

2
Problem: there is no kernel API to invoke wait4 syscall with changed signal mask.

Current workarounds: strace does its best to implement a race-free workaround, but it is way too complex and hard to maintain.

Proposed solution: add wait6 syscall which is wait4 with additional signal mask arguments, like pselect vs select and ppoll vs poll.

3
Problem: time precision provided by struct rusage is too low for strace -c nowadays.

Current workarounds: none.

Proposed solution: when adding wait6 syscall, change struct rusage argument to a different structure with fields of type struct timespec instead of struct timeval.

4
Problem: PID namespaces have been introduced without a proper kernel API to translate between tracer and tracee views of pids. This causes confusion among strace users, e.g. https://bugzilla.redhat.com/1035433

Current workarounds: none.

Proposed solution: add translate_pid syscall, e.g. https://lkml.org/lkml/2018/7/3/589

5
Problem: there are no consistent declarative syscall descriptions, this forces every user to reinvent its own wheel and catch up with the kernel.

Current workarounds: a lot of manual work has been done in strace to implement parsers of all syscalls. Some of these parsers are quite complex and hard to test. Other projects, e.g. syzkaller, implement their own representation of syscall ABI.

Proposed solution: provide declarative descriptions for all syscalls consistently.

LPC2018 - What could be done in the kernel to make strace happy

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

LPC2018 - Untrusted File systems

LPC2018 - Untrusted File systems

Give me 15 minutes and I'll change your view of Linux tracing

Give me 15 minutes and I'll change your view of Linux tracing

Christian Heimes - Introduction to low-level profiling and tracing

Christian Heimes - Introduction to low-level profiling and tracing

LPC2018 - LPC Main Track

LPC2018 - LPC Main Track

физтех отжигает на псевдонаучке ФизФака МГУ Full HD

физтех отжигает на псевдонаучке ФизФака МГУ Full HD

Как Ubuntu Предала Linux - Вся Правда о Взлёте и Падении Canonical

Как Ubuntu Предала Linux - Вся Правда о Взлёте и Падении Canonical

Городок -

Городок - "По недоразумению"

Акунин ошарашил прогнозом! Финал войны уже решён — Кремль скрывает правду

Акунин ошарашил прогнозом! Финал войны уже решён — Кремль скрывает правду

Основы делопроизводства (1942)

Основы делопроизводства (1942)

ЦИФРОВОЙ ЧЕЛОВЕК | Академия смысла: открытые лекции

ЦИФРОВОЙ ЧЕЛОВЕК | Академия смысла: открытые лекции

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Я посетил подземных кротолюдей (они живут без солнца)

Я посетил подземных кротолюдей (они живут без солнца)

ГУДКОВ:

ГУДКОВ: "Надо приготовиться. Я назову сколько осталось". Мишени Путина, ПРЯМАЯ ЛИНИЯ, Нагиев,Сокуров

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

LinkedIn Performance Engineering Meetup: Understanding eBPF

LinkedIn Performance Engineering Meetup: Understanding eBPF

Rust для Linux - Мигель Охеда

Rust для Linux - Мигель Охеда

Задача века решена!

Задача века решена!

"Пойдут машины в яростный поход" или зачем нужен мост на краю Земли.

Белый хакер разбирает сцены из фильмов «Хакеры», «Матрица», «Мистер Робот», «Черное зеркало» и др

Белый хакер разбирает сцены из фильмов «Хакеры», «Матрица», «Мистер Робот», «Черное зеркало» и др

Самая холодная деревня в мире: Оймякон (-71°C)

Самая холодная деревня в мире: Оймякон (-71°C)

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]