<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Компания SUSE открыла код kGraft]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=34380&amp;type=atom" />
	<updated>2014-03-28T05:09:06Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=34380</id>
		<entry>
			<title type="html"><![CDATA[Re: Компания SUSE открыла код kGraft]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=402615#p402615" />
			<content type="html"><![CDATA[<p>Вот и началась битва титанов.</p>]]></content>
			<author>
				<name><![CDATA[Vascom]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5339</uri>
			</author>
			<updated>2014-03-28T05:09:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=402615#p402615</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Компания SUSE открыла код kGraft]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=402605#p402605" />
			<content type="html"><![CDATA[<p><strong>Компания SUSE открыла код kGraft, системы для обновления ядра Linux без перезагрузки.</strong></p><p>Компания SUSE <a href="https://www.suse.com/company/press/2014/3/suse-releases-kgraft-for-live-patching-of-linux-kernel.html">объявила</a> о доступного исходных текстов ранее анонсированной системы <a href="https://www.suse.com/promo/kgraft.html">kGraft</a>, обеспечивающей возможность обновления ядра Linux на лету, без перезагрузки и без остановки работы приложений. Возможности kGraft ограничены внесением на лету исправлений, не затрагивающих динамически изменяемые структуры данных ядра, чего достаточно для устранения уязвимостей в ядре и исправления многих видов логических ошибок. Компоненты kGraft, работающие на уровне ядра <a href="https://git.kernel.org/cgit/linux/kernel/git/jirislaby/kgraft.git/">открыты</a> под лицензией GPLv2, а выполняемые в пространстве пользователя утилиты, позволяющие создавать live-патчи к ядру, - под лицензией GPLv3.</p><p>Обновление ядра Linux на лету является востребованной возможностью для промышленных дистрибутивов и систем, критичных ко времени простоя. При этом, несмотря на доступность на рынке решений, предоставляющих подобную функциональность, свободная и общедоступная реализация до сих пор не предоставляется штатным ядром Linux. Конкурирующими с kGraft системами являются технологии <a href="http://www.ksplice.com/">Ksplice</a> от Oracle и <a href="http://www.opennet.ru/opennews/art.shtml?num=39235">kpatch</a> от Red Hat. Ksplice не претендует на включение в ядро в силу прекращения публикации исходных текстов, поэтому основным конкурентом в борьбе за включение в состав основного ядра Linux является kpatch, который очень близок по архитектуре к kGraft и также является полностью открытой разработкой. Основное отличие kGraft от kpatch сводится к методу генерации модуля-патча, который в kGraft может формируется непосредственно на основе исходных текстов, без манипуляций объектным кодом (kpatch формирует патч на основе сравнения двух бинарных сборок ядра).</p><p>Средства наложения патчей на базе kGraft ограничены заменой целиком функций и связанных с ними констант. Патч формируется при помощи специального инструментария, выявляющего подлежащие замене функции на основе анализа исправлений исходных текстов, после чего формирующего исходный код модуля ядра с реализацией патча. Cгенерированный модуль загружается в ядро штатными средствами, как и любой другой модуль ядра, после чего выполняет все необходимые действия по внесению изменений в ядро без прерывания работы системы. В своей работе kGraft базируется на технологиях и идеях уже доступных в ядре: ftrace, зарезервированное через mcount место в заголовках функций, уже применяемая в jumplabels техника исправления INT3/IPI-NMI, RCU-подобное обновление кода, не требующее остановки ядра. </p><p>Видео: <a href="http://www.youtube.com/watch?v=d8Y89obtNI8">Video demo of live Linux Kernel Patching using kGraft</a></p><br /><br /><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=39424">http://www.opennet.ru/opennews/art.shtml?num=39424</a></p>]]></content>
			<author>
				<name><![CDATA[verg]]></name>
				<uri>https://linuxforum.ru/profile.php?id=10709</uri>
			</author>
			<updated>2014-03-27T20:37:53Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=402605#p402605</id>
		</entry>
</feed>
