<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; SUSE развивает свободную систему для обновления ядра без перезагрузки]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=33553&amp;type=atom" />
	<updated>2014-02-04T05:33:35Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=33553</id>
		<entry>
			<title type="html"><![CDATA[SUSE развивает свободную систему для обновления ядра без перезагрузки]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=391777#p391777" />
			<content type="html"><![CDATA[<p>Компания SUSE <a href="https://www.suse.com/communities/conversations/kgraft-live-kernel-patching/">представила</a> систему kGraft, в рамках которой развивается аналог поставляемой компанией Oracle технологии <a href="http://www.ksplice.com/">Ksplice</a>, позволяющей выполнить обновление ядра Linux без остановки работы системы. Как и Ksplice возможности kGraft ограничены внесением на лету исправлений, не затрагивающих динамически изменяемые структуры данных ядра. Тем не менее, этого достаточно для устранения уязвимостей в ядре и исправления многих видов логических ошибок.</p><p>Обновление ядра Linux на лету является востребованной возможностью для промышленных дистрибутивов и систем, критичных ко времени простоя, но несмотря на доступность на рынке решений, предоставляющих подобную функциональность, свободная и общедоступная реализация до сих пор не предоставляется штатным ядром Linux. В отличие от Ksplice, который <a href="https://www.ksplice.com/uptrack/dist/">является</a> проприетарной разработкой (один из ранних вариантов Ksplice был <a href="https://github.com/CentOS/ksplice">открыт</a>, но очень давно не обновлялся), kGraft изначально позиционируется как свободный проект.</p><p>В настоящее время kGraft находится на стадии работающего прототипа, требующего доработки. В марте, после приведения кода в порядок, созданные в рамках проекта наработки планируется предложить для включения в состав основной ветки ядра Linux. Компоненты, работающие на уровне ядра, будут открыты под лицензией GPLv2, а выполняемые в пространстве пользователя утилиты, позволяющие создавать live-патчи к ядру, - под лицензией GPLv3.</p><p>Средства наложения патчей на базе kGraft ограничены заменой целиком функций и связанных с ними констант. Патч формируется при помощи специального инструментария, на основе анализа исправлений исходных текстов выявляющего подлежащие замене функции и формирующего исходный код модуля ядра с реализацией патча. Cгенерированный модуль загружается в ядро штатными средствами, как и любой другой модуль ядра, после чего выполняет все необходимые действия по внесению изменений в ядро без прерывания работы системы. В своей работе kGraft базируется на технологиях и идеях уже доступных в ядре: ftrace, зарезервированное через mcount место в заголовках функций, уже применяемая в jumplabels техника исправления INT3/IPI-NMI, RCU-подобное обновление кода, не требующее остановки ядра.</p><br /><br /><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=38994">http://www.opennet.ru/opennews/art.shtml?num=38994</a></p>]]></content>
			<author>
				<name><![CDATA[verg]]></name>
				<uri>https://linuxforum.ru/profile.php?id=10709</uri>
			</author>
			<updated>2014-02-04T05:33:35Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=391777#p391777</id>
		</entry>
</feed>
