Ремонт механизма обхода стека в ядре Linux для RISCV (Матвей Быстрин).

24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из YADRO, Матвей Быстрин, поделился докладом "Ремонт механизма обхода стека в ядре Linux для RISCV". Вероятно, каждый разработчик сталкивался с печатью стека вызовов. И чаще всего такая печать ассоциируется с возникновением ошибок, однако обход стека используется и в ряде других случаев. В докладе поговорили про работу механизма обхода кадров стека в ядре Linux и его применениях. Спикер рассказал об ошибке, с которой столкнулся, и как с ней боролся. Позапускал gdb, разобрал дизассемблированный код, предоставил к изучению небольшой кусок спецификации и, конечно, рассмотрел исходный код ядра. Кроме того, затронул тему компилятора, немного заглянув «под капот» gcc. Доклад будет интересен любителям нетривиальных проблем, фанатам разбора байтов и почитателям архитектурно-специфичного кода. 00:25 - О спикере и докладе. 02:52 - Механизм обхода стека. 05:27 - Применения: примеры из userland, Hardware, DWARF, ORC & SFrame, BPF, Framepointer и Linux. 15:10 - RISC-V. 17:04 - Подробно о поломке и способах её устранения. 30:11 - Ситуация сегодня. Что изменилось за год? 33:16 - Выводы. 34:42 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/ 📚 Дополнительные материалы ✅ Хабр: · DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU https://habr.com/ru/companies/yadro/articles/1019906/ · Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux https://habr.com/ru/companies/yadro/articles/968072/ · Обход стека в ядре Linux для RISC-V: разбираем и чиним https://habr.com/ru/companies/yadro/articles/990466/ 🎧 Послушать: · Подкаст «Битовые маски» с Дмитрием Точанским. Архитектура ядра Linux. ЦОС и DSP-процессоры. Linux для RISC-V https://engineer.yadro.com/podcast/arhitektura-yadra-linux/ · Подкаст «Битовые маски» с Алексеем Бродкиным. Операционные системы. Linux. Zephyr. HAL и BSP. ARC-V https://engineer.yadro.com/podcast/operating-systems/

Иконка канала Истовый Инженер
1 544 подписчика
12+
108 просмотров
год назад
12+
108 просмотров
год назад

24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из YADRO, Матвей Быстрин, поделился докладом "Ремонт механизма обхода стека в ядре Linux для RISCV". Вероятно, каждый разработчик сталкивался с печатью стека вызовов. И чаще всего такая печать ассоциируется с возникновением ошибок, однако обход стека используется и в ряде других случаев. В докладе поговорили про работу механизма обхода кадров стека в ядре Linux и его применениях. Спикер рассказал об ошибке, с которой столкнулся, и как с ней боролся. Позапускал gdb, разобрал дизассемблированный код, предоставил к изучению небольшой кусок спецификации и, конечно, рассмотрел исходный код ядра. Кроме того, затронул тему компилятора, немного заглянув «под капот» gcc. Доклад будет интересен любителям нетривиальных проблем, фанатам разбора байтов и почитателям архитектурно-специфичного кода. 00:25 - О спикере и докладе. 02:52 - Механизм обхода стека. 05:27 - Применения: примеры из userland, Hardware, DWARF, ORC & SFrame, BPF, Framepointer и Linux. 15:10 - RISC-V. 17:04 - Подробно о поломке и способах её устранения. 30:11 - Ситуация сегодня. Что изменилось за год? 33:16 - Выводы. 34:42 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/ 📚 Дополнительные материалы ✅ Хабр: · DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU https://habr.com/ru/companies/yadro/articles/1019906/ · Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux https://habr.com/ru/companies/yadro/articles/968072/ · Обход стека в ядре Linux для RISC-V: разбираем и чиним https://habr.com/ru/companies/yadro/articles/990466/ 🎧 Послушать: · Подкаст «Битовые маски» с Дмитрием Точанским. Архитектура ядра Linux. ЦОС и DSP-процессоры. Linux для RISC-V https://engineer.yadro.com/podcast/arhitektura-yadra-linux/ · Подкаст «Битовые маски» с Алексеем Бродкиным. Операционные системы. Linux. Zephyr. HAL и BSP. ARC-V https://engineer.yadro.com/podcast/operating-systems/

, чтобы оставлять комментарии