Files
nexus/sreweekly/articles/6/02-kernel-patching-101-how-to-make-repairs-without-system-downtime.html
2026-09-12 17:23:01 +08:00

1275 lines
62 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US">
<meta charset="UTF-8">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0" />
<link rel="preconnect" href="https://news-cdn.moonbeam.co/">
<link rel="preconnect" href="https://shop.marketbyte.com/">
<link rel="preconnect" href="https://fonts.googleapis.com/">
<title>Kernel Patching 101: How to Make Repairs Without System Downtime</title>
<meta name="description" content="Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be “always on.” Redundant systems composed of components of independent origin are being used to prevent systemic errors that cause larger outages while hot-swappable components have been designed to allow replacing components without shutting down systems.Live kernel patching is the software equivalent of hot-swappable physical components, as it allows replacing a faulty function inside the kernel without taking the system offline.When to Use Kernel Patching?Change management commonly recognizes three tiers of change:- Incident response- Emergency change- Scheduled changeA system could be down ">
<meta name="robots" content="index, follow" />
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<meta name="googlebot-news" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<meta name="author" content="Vojtech Pavlik">
<link rel="canonical" href="https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" />
<link rel="image_src" href="https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg" />
<meta property="fb:app_id" content="602936063081450" />
<meta property="og:image" content="https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg" />
<meta property="og:image:width" content="700"/>
<meta property="og:image:height" content="700"/>
<meta property="og:locale" content="en_US" />
<meta property="article:published_time" content="1/5/2016 10:02:14 AM" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Kernel Patching 101: How to Make Repairs Without System Downtime" />
<meta property="og:description" content="Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be “always on.” Redundant systems composed of components of independent origin are being used to prevent systemic errors that cause larger outages while hot-swappable components have been designed to allow replacing components without shutting down systems.Live kernel patching is the software equivalent of hot-swappable physical components, as it allows replacing a faulty function inside the kernel without taking the system offline.When to Use Kernel Patching?Change management commonly recognizes three tiers of change:- Incident response- Emergency change- Scheduled changeA system could be down " />
<meta property="og:url" content="https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" />
<meta property="og:site_name" content="App Developer Magazine" />
<meta name="twitter:image" content="https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg" />
<meta name="twitter:card" content="summary" />
<meta name="'twitter:url" content="https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" />
<meta name="twitter:description" content="Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be “always on.” Redundant systems composed of components of independent origin are being used to prevent systemic errors that cause larger outages while hot-swappable components have been designed to allow replacing components without shutting down systems.Live kernel patching is the software equivalent of hot-swappable physical components, as it allows replacing a faulty function inside the kernel without taking the system offline.When to Use Kernel Patching?Change management commonly recognizes three tiers of change:- Incident response- Emergency change- Scheduled changeA system could be down " />
<meta name="twitter:title" content="Kernel Patching 101: How to Make Repairs Without System Downtime" />
<meta name="twitter:domain:" content="appdevelopermagazine.com">
<meta name="twitter:creator" content="@appdevelopermag" />
<meta name="twitter:site" content="@appdevelopermag" />
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"/>
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"/>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope
itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://appdevelopermagazine.com/programming">
<span itemprop="name">https://appdevelopermagazine.com/programming</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/">
<span itemprop="name">https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/</span></a>
<meta itemprop="position" content="2" />
</li>
</ol>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://appdevelopermagazine.com/#organization",
"name": "App Developer Magazine",
"url": "https://appdevelopermagazine.com",
"sameAs": [],
"logo": {
"@type": "ImageObject",
"@id": "https://appdevelopermagazine.com/#logo",
"inLanguage": "en-US",
"url": "https://appdevelopermagazine.com/images/logo-ch.png",
"width": 300,
"height": 100,
"caption": "App Developer Magazine"
},
"image": {
"@id": "https://appdevelopermagazine.com/#logo"
}
},
{
"@type": "WebSite",
"@id": "https://appdevelopermagazine.com/#website",
"url": "https://appdevelopermagazine.com/",
"name": "App Developer Magazine",
"description": "App Developer Magazine is an app programming and software tech media property, dedicated to covering news, and stories for iOS iPhone, Android, Gaming, IoT, VR, and AR app developers.",
"publisher": {
"@id": "https://appdevelopermagazine.com/#organization"
},
"potentialAction": [
{
"@type": "SearchAction",
"target": "https://appdevelopermagazine.com/search/{search_term_string}",
"query-input": "required name=search_term_string"
}
],
"inLanguage": "en-US"
},
{
"@type": "ImageObject",
"@id": "https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg/#primaryimage",
"inLanguage": "en-US",
"url": "https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg",
"width": 700,
"height": 700,
"caption": "Kernel Patching 101: How to Make Repairs Without System Downtime"
},
{
"@type": "WebPage",
"@id": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/#webpage",
"url": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/",
"name": "Kernel Patching 101: How to Make Repairs Without System Downtime",
"isPartOf": {
"@id": "https://appdevelopermagazine.com/#website"
},
"primaryImageOfPage": {
"@id": "https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg/#primaryimage"
},
"datePublished": "1/5/2016 10:02:14 AM",
"dateModified": "1/5/2016 10:02:14 AM",
"description": "Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be “always on.” Redundant systems composed of components of independent origin are being used to prevent systemic errors that cause larger outages while hot-swappable components have been designed to allow replacing components without shutting down systems.Live kernel patching is the software equivalent of hot-swappable physical components, as it allows replacing a faulty function inside the kernel without taking the system offline.When to Use Kernel Patching?Change management commonly recognizes three tiers of change:- Incident response- Emergency change- Scheduled changeA system could be down ",
"inLanguage": "en-US",
"potentialAction": [
{
"@type": "ReadAction",
"target": [
"https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/"
]
}
]
},
{
"@type": "Article",
"@id": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/#article",
"isPartOf": {
"@id": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/#webpage"
},
"author": {
"@id": "https://appdevelopermagazine.com/author/238/vojtech-pavlik"
},
"headline": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/",
"datePublished": "1/5/2016 10:02:14 AM",
"dateModified": "1/5/2016 10:02:14 AM",
"commentCount": 0,
"mainEntityOfPage": {
"@id": "https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/#webpage"
},
"publisher": {
"@id": "https://appdevelopermagazine.com/#organization"
},
"image": {
"@id": "https://news-cdn.moonbeam.co/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg/#primaryimage"
},
"articleSection": "News",
"inLanguage": "en-US"
},
{
"@type": ["Person"],
"@id": "https://appdevelopermagazine.com/author/238/vojtech-pavlik",
"name": "Vojtech Pavlik",
"url": "https://appdevelopermagazine.com/author/238/vojtech-pavlik",
"image": {
"@type": "ImageObject",
"@id": "https://appdevelopermagazine.com/#personlogo",
"inLanguage": "en-US",
"url": "",
"caption": "Vojtech Pavlik"
}
}
]
}
</script>
<meta name="msvalidate.01" content="25EEA7951C852D6EA1D1268F1FEFFBC1" />
<link rel="alternate" type="application/rss+xml" title="App Developer Magazine RSS Feed" href="https://appdevelopermagazine.com/RSS" />
<link rel="manifest" href="/manifest.json">
<link rel="stylesheet" href="https://appdevelopermagazine.com/sites/themes/prod/assets/css/article-sm.css?v=1.1">
<link rel="preload" href="https://appdevelopermagazine.com/sites/themes/prod/assets/css/responsive.css?v=1.1" as="style" onload="this.onload=null;this.rel='stylesheet'">
<script type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/jquery-1.12.2.min.js"></script>
<link rel="stylesheet" href="https://appdevelopermagazine.com/sites/themes/prod/assets/css/font-awesome.min.css?v=1.1">
<noscript>
<link rel="stylesheet" href="https://appdevelopermagazine.com/sites/themes/prod/assets/css/responsive.css?v=1.1">
</noscript>
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"Organization",
"url":"https://appdevelopermagazine.com/",
"name":"App Developer Magazine",
"legalName" : "App Developer Magazine",
"sameAs":[
"http://facebook.com/appdevelopermagazine",
"https://www.linkedin.com/company/app-developer-magazine",
"http://www.youtube.com/user/AppDeveloperMagazine",
"http://pinterest.com/appdevelopermag/app-developer-magazine/",
"http://twitter.com/appdevelopermag"
],
"logo":"https://appdevelopermagazine.com/images/adm-logo-small.png",
"contactPoint": [{
"@type": "ContactPoint",
"telephone": "1-844-277-3386",
"contactType": "customer service"
}]
}
</script>
<link rel="preload" as="image" href="https://appdevelopermagazine.com/images/logo-ch.png" fetchpriority="high">
</head>
<body data-ng-controller = "cronicalCnt">
<script>
var marketByteClient = null;
var marketByteClientStarted = false;
function updateMarketByteLoginText() {
var loginLink = document.getElementById("mb-login-link");
if (!loginLink) return;
// Check for MarketByte customer cookie
var loggedIn =
document.cookie.indexOf("MB_CUSTOMER_ybjxdVSydY6QuUg5oY7v=") !== -1;
loginLink.textContent = loggedIn ? "My Account" : "Login";
}
function initMarketByte(callback) {
var tries = 0;
function run() {
tries++;
if (window.MarketByte && typeof window.MarketByte.createClient === "function") {
if (!marketByteClientStarted) {
marketByteClientStarted = true;
window.MarketByte.createClient({
domain: "appdevelopermagazine.marketbyte.com",
accessKey: "Ypv6Qx4b06OoqOWbfDCrfdLFMJrcywag",
cartLocation: 0
}).then(function (client) {
marketByteClient = client;
updateMarketByteLoginText();
if (typeof callback === "function") {
callback(client);
}
});
} else if (marketByteClient && typeof callback === "function") {
callback(marketByteClient);
}
return;
}
if (tries < 40) {
setTimeout(run, 100);
}
}
run();
}
(function () {
var marketByteScriptLoaded = false;
function loadMarketByteScript() {
if (marketByteScriptLoaded || window.MarketByte) return;
marketByteScriptLoaded = true;
var script = document.createElement("script");
script.src = "https://shop.marketbyte.com/marketbyte-store.js?v=1.1";
script.async = true;
script.onload = function () {
initMarketByte();
};
document.body.appendChild(script);
}
window.addEventListener("load", function () {
setTimeout(loadMarketByteScript, 1500);
});
})();
// RDS 06/04/2026: New helper function for login and creating the client
function launchMarketByteLogin() {
if (window.MarketByte && typeof window.MarketByte.launchLogin === "function") {
window.MarketByte.launchLogin(true);
return false;
}
var tries = 0;
var waitForMarketByte = setInterval(function () {
tries++;
if (window.MarketByte && typeof window.MarketByte.launchLogin === "function") {
clearInterval(waitForMarketByte);
window.MarketByte.launchLogin(true);
}
if (tries > 40) {
clearInterval(waitForMarketByte);
window.location.href = "/members-login";
}
}, 100);
return false;
}
</script>
<div id="wrapper" class="home-one">
<header id="header" class="header">
<div id="primary-header" class="primary-header clearfix">
<ul class="links pages-link">
<li><a title='Back to the future' href='/' class='home'><i class='fa fa-home'></i></a></li><li><a title='Our Writers' href='/authors-and-contributors'>writers</a></li><li><a title='App Developer Magazine Sponsors' href='/sponsors'>sponsors</a></li><li><a title='Submit App News or Press Release' href='https://appdevelopermagazine.com/contact-us/'>Send us a story</a></li>
</ul>
<ul class="links social">
<li>
<a title="Our Facebook" href="http://facebook.com/appdevelopermagazine"><i class="fa fa-facebook"></i></a>
</li>
<li>
<a title="Our Twitter" href="http://twitter.com/appdevelopermag"><i class="fa fa-twitter"></i></a>
</li>
<li>
<a title="Our Instagram" href="http://instagram.com/appdevelopermagazine/"><i class="fa fa-instagram"></i></a>
</li>
<li>
<a title="Our RSS" href="http://feeds.feedburner.com/appdevelopermagazine" ><i class="fa fa-rss"></i></a>
</li>
</ul>
</div>
<div id="main-header" class="main-header">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="logo">
<a href="https://appdevelopermagazine.com"><img id="logo-image" src="https://appdevelopermagazine.com/images/logo-ch.png" alt="App Developer Magazine is an app programming and software tech media property, dedicated to covering news, and stories for iOS iPhone, Android, Gaming, IoT, VR, and AR app developers." title="App Developer Magazine is an app programming and software tech media property, dedicated to covering news, and stories for iOS iPhone, Android, Gaming, IoT, VR, and AR app developers."/></a>
</div>
<form id="search-bar" action="/sitesearch/" class="search-here" method="post" onsubmit="return document.getElementById('q').value != ''">
<input id="q" name="q" type="text" placeholder="Search" />
<button type="submit" value=""></button>
</form>
<nav>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span><span class="icon-bar"> </span><span class="icon-bar"> </span><span class="icon-bar"> </span>
</button>
<ul class="nav navigation">
<li class="multi-level">
<a href="javascript:void(0);">Top Stories</a>
<div class="multi-sub-menu" style="z-index:1">
<div class="categories-menu sub-menu-block">
Hot Topics
<ul>
<li>
<a href="https://appdevelopermagazine.com/ios"> <i class="fa fa-caret-right"></i> Apple iOS </a>
</li>
<li>
<a href="https://appdevelopermagazine.com/android"> <i class="fa fa-caret-right"></i> Android </a>
</li>
<li>
<a href="https://appdevelopermagazine.com/search/progressive-web-apps"> <i class="fa fa-caret-right"></i> Progressive Web Apps </a>
</li>
<li>
<a href="https://appdevelopermagazine.com/business-of-apps"> <i class="fa fa-caret-right"></i> Business of Apps </a>
</li>
<li>
<a href="https://appdevelopermagazine.com/nfts"> <i class="fa fa-caret-right"></i> NFTs </a>
</li>
</ul>
</div>
<div class="top-rated sub-menu-block">
<span>Top</span> Today
<ul class="product-list">
<li class="clearfix">
<figure>
<a href="https://appdevelopermagazine.com/seestar-s50-pro-smart-telescope-launches/"><img loading="lazy" src="https://news-cdn.moonbeam.co/Seestar-S50-Pro-Launches-on-ScopeTrader_45cdhdsr.jpg" alt="Seestar S50 Pro Smart Telescope Launches" title="Seestar S50 Pro Smart Telescope Launches" /></a>
</figure>
<div class="product-description">
<a href="https://appdevelopermagazine.com/seestar-s50-pro-smart-telescope-launches/" class="product-name">Seestar S50 Pro Smart Telescope Launches..</a>
</div>
</li>
<li class="clearfix">
<figure>
<a href="https://appdevelopermagazine.com/intersignal-releases-braid-pathfinder-developer-preview/"><img loading="lazy" src="https://news-cdn.moonbeam.co/Intersignal-Releases-Braid-Pathfinder-Developer-Preview-App-Developer-Magazine_x76tpgoy.jpg" alt="Intersignal Releases Braid Pathfinder Developer Preview" title="Intersignal Releases Braid Pathfinder Developer Preview" /></a>
</figure>
<div class="product-description">
<a href="https://appdevelopermagazine.com/intersignal-releases-braid-pathfinder-developer-preview/" class="product-name">Intersignal Releases Braid Pathfinder Developer Pr..</a>
</div>
</li>
</ul>
</div>
<div class="on-sale sub-menu-block">
Featured
<ul class="product-list">
<li class="clearfix">
<figure>
<a href="https://appdevelopermagazine.com/human-made-video-ads-outperform-ai-generated-creativity/"><img loading="lazy" src="https://news-cdn.moonbeam.co/Human-Made-Video-Ads-Outperform-AI-Generated-Creativity_5rlk23bu.jpg" alt="Human-Made Video Ads Outperform AI-Generated Creativity" title="Human-Made Video Ads Outperform AI-Generated Creativity" /></a>
</figure>
<div class="product-description">
<a href="https://appdevelopermagazine.com/human-made-video-ads-outperform-ai-generated-creativity/" class="product-name">Human-Made Video Ads Outperform AI-Generated Creat..</a>
</div>
</li>
<li class="clearfix">
<figure>
<a href="https://appdevelopermagazine.com/nearlens:-smart-glasses-privacy-taken-seriously/"><img loading="lazy" src="https://news-cdn.moonbeam.co/Human-Made-Video-Ads-Outperform-AI-Generated-Creativity_5rlk23bu.jpg" alt="NearLens: Smart Glasses Privacy Taken Seriously" title="NearLens: Smart Glasses Privacy Taken Seriously" /></a>
</figure>
<div class="product-description">
<a href="https://appdevelopermagazine.com/nearlens:-smart-glasses-privacy-taken-seriously/" class="product-name">NearLens: Smart Glasses Privacy Taken Seriously..</a>
</div>
</li>
</ul>
</div>
<div class="may-like sub-menu-block">
Trending
<ul class="product-list">
</ul>
</div>
</div>
</li>
<li>
<a href="https://appdevelopermagazine.com/featured">Featured</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/monthly-issues/">Magazine</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/subscribe/">Subscribe</a>
</li>
<li class="dropdown">
<a href="https://appdevelopermagazine.com/news">News</a>
<ul class="dropdown-list drop-menu">
<li><a href="https://appdevelopermagazine.com/news">All</a></li>
<li><a href="https://appdevelopermagazine.com/agile">Agile</a></li>
<li><a href="https://appdevelopermagazine.com/analytics">Analytics</a></li>
<li><a href="https://appdevelopermagazine.com/android">Android</a></li>
<li><a href="https://appdevelopermagazine.com/api">API</a></li>
<li><a href="https://appdevelopermagazine.com/application-testing">Application Testing</a></li>
<li><a href="https://appdevelopermagazine.com/apps">Apps</a></li>
<li><a href="https://appdevelopermagazine.com/artificial-intelligence">Artificial Intelligence</a></li>
<li><a href="https://appdevelopermagazine.com/augmented-reality">Augmented Reality</a></li>
<li><a href="https://appdevelopermagazine.com/big-data">Big Data</a></li>
<li><a href="https://appdevelopermagazine.com/business-of-apps">Business of Apps</a></li>
<li><a href="https://appdevelopermagazine.com/cloud-services">Cloud Services</a></li>
<li><a href="https://appdevelopermagazine.com/cryptocurrency">Cryptocurrency</a></li>
<li><a href="https://appdevelopermagazine.com/developer-jobs">Developer Jobs</a></li>
<li><a href="https://appdevelopermagazine.com/devops">DevOps</a></li>
<li><a href="https://appdevelopermagazine.com/enterprise">Enterprise</a></li>
<li><a href="https://appdevelopermagazine.com/events">Events</a></li>
<li><a href="https://appdevelopermagazine.com/game-development">Game Development</a></li>
<li><a href="https://appdevelopermagazine.com/html5">HTML5</a></li>
<li><a href="https://appdevelopermagazine.com/ios">iOS</a></li>
<li><a href="https://appdevelopermagazine.com/iot">IoT</a></li>
<li><a href="https://appdevelopermagazine.com/low-code-no-code">Low Code No Code</a></li>
<li><a href="https://appdevelopermagazine.com/marketing-&-promotion">Marketing & Promotion</a></li>
<li><a href="https://appdevelopermagazine.com/messaging">Messaging</a></li>
<li><a href="https://appdevelopermagazine.com/metaverse">Metaverse</a></li>
<li><a href="https://appdevelopermagazine.com/mobile-guidelines">Mobile Guidelines</a></li>
<li><a href="https://appdevelopermagazine.com/mobile-tech">Mobile Tech</a></li>
<li><a href="https://appdevelopermagazine.com/monetize">Monetize</a></li>
<li><a href="https://appdevelopermagazine.com/nfts">NFTs</a></li>
<li><a href="https://appdevelopermagazine.com/open-source">Open Source</a></li>
<li><a href="https://appdevelopermagazine.com/press-announcements">Press Announcements</a></li>
<li><a href="https://appdevelopermagazine.com/programming">Programming</a></li>
<li><a href="https://appdevelopermagazine.com/quantum-computing">Quantum Computing</a></li>
<li><a href="https://appdevelopermagazine.com/sdk">SDK</a></li>
<li><a href="https://appdevelopermagazine.com/security">Security</a></li>
<li><a href="https://appdevelopermagazine.com/tizen">Tizen</a></li>
<li><a href="https://appdevelopermagazine.com/vr">VR</a></li>
<li><a href="https://appdevelopermagazine.com/web3">Web3</a></li>
<li><a href="https://appdevelopermagazine.com/windows-mobile">Windows Mobile</a></li>
</ul>
</li>
<li class="dropdown">
<a href="https://appdevelopermagazine.com/marketplace/home/">Marketplace</a>
<ul class="dropdown-list drop-menu">
<li>
<a href="https://appdevelopermagazine.com/marketplace/home/">
<!--<img loading="lazy" src="https://news-cdn.moonbeam.co/dir/Mobile-App-Developer-Tools-Market_qeado4yw.jpg" alt="Marketplace" title="Marketplace">-->
Marketplace
</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/marketplace/app-developers/">
<!--<img loading="lazy" src="https://news-cdn.moonbeam.co/dir/Hire-App-Developers_d7jpxev7.jpg" alt="App Developers" title="App Developers">-->
App Developers
</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/marketplace/advertising/">
<!--<img loading="lazy" src="https://news-cdn.moonbeam.co/dir/Mobile-App-Advertising-Monetizing_4ag12yvm.jpg" alt="Advertising" title="Advertising">-->
Advertising
</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/marketplace/affiliate/">
<!--<img loading="lazy" src="https://news-cdn.moonbeam.co/dir/Mobile-Affiliate-Marketing-Companies_tfc1ayf3.jpg" alt="Affiliate" title="Affiliate">-->
Affiliate
</a>
</li>
<li>
<a href="https://appdevelopermagazine.com/marketplace/apps/">
<!--<img loading="lazy" src="https://news-cdn.moonbeam.co/dir/47808267_s_02mvba9r.jpg" alt="Apps" title="Apps">-->
Apps
</a>
</li>
</ul>
</li>
<li>
<a rel="nofollow" href="#" onclick="return launchMarketByteLogin();">Login</a>
</li>
<li>
<div class="hide-desktop" style="padding-bottom: 0.5rem;">
<a href="https://appdevelopermagazine.com/subscribe/" style="color: #fff !important; padding: 6px 16px; background-color: #dd1f26;border-radius: 6px;-webkit-border-radius: 6px;max-width:100px; margin-left: auto; margin-right: auto;" alt="Sign up to ADM" title="Sign up to ADM">Sign Up</a>
</div>
</li>
<li>
</li>
</ul>
</nav>
</div>
<form id="mobile-search-bar" action="/sitesearch/" method="post" onsubmit="return document.getElementById('mobile-q').value != ''">
<input class="form-control" id="mobile-q" name="q" type="text" placeholder="What are you looking for?" style="opacity: 0.6 !important;padding-right: 190px !important;" value=""/>
<button type="submit" value="" aria-label="Submit"></button>
<select id="search-category" class="form-control" name="e" aria-label="Search category">
<option value="">Search All</option>
<option value="news" >Search News</option>
<option value="directory" >Search Directory</option>
</select>
</form>
</div>
</div>
</div>
</div>
</header>
<style>
.banner {
height: 180px;
background: linear-gradient(180deg, #05070d 0%, #0b1020 45%, #111111 100%);
}
</style>
<div id="banner" class="banner blog-inner-banner tech-symbol-banner">
</div>
</div>
<div
id="content"
>
<div class="
blog-inner-description
">
<div class="
container
">
<div class="row white">
<div class="social-feed-back clearfix">
<ul class="social-feedback-link clearfix">
<li>
<i class="fa fa-bookmark"> </i> KERNEL PATCHING 101: HOW TO MAKE REPAIRS WITHOUT SYSTEM DOWNTIME
</li>
</ul>
<span class="right-section">
<a id="next-url" href="https://appdevelopermagazine.com/tenstorrent-and-infinia-launch-abu-dhabi-based-sovereign-ai-initiative/"><span class="chev-two">Next Story <i class="fa fa-chevron-right"> </i></span></a>
</span>
</div>
</div>
<section class="news-sec news-inner-page">
<div class="
container
">
<div class="row news-inner-wrapper">
<div class="col-xs-12 col-sm-8">
<article>
<div itemscope itemtype="http://schema.org/Article">
<meta itemprop="name" content="Kernel Patching 101: How to Make Repairs Without System Downtime" />
<meta itemprop="description" content="Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be" />
<div style="display:none" itemprop="author">Vojtech Pavlik</div>
<div style="display:none" itemprop="datePublished">1/5/2016 10:02:14 AM</div>
<div style="display:none" itemprop="dateModified">1/5/2016 10:02:14 AM</div>
<div style="display:none" itemprop="headline">Kernel Patching 101: How to Make Repairs Without System Downtime</div>
<div style="display:none" itemprop="keywords">Kernel,kGraft,DWARF,Patching</div>
<div style="display:none" itemprop="image">/Kernel-Patching-App-Developer-Magazine_da2ha3dk.jpg</div>
<div style="display:none" itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
<div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">
<img loading="lazy" alt="App Developer Magazine" src="https://appdevelopermagazine.com/sig-logo.jpg"/>
<meta itemprop="url" content="https://appdevelopermagazine.com/sig-logo.jpg">
</div>
<meta itemprop="name" content="App Developer Magazine">
</div>
<link itemprop="mainEntityOfPage" href="https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" />
<div itemprop="articleBody" class="blog-inner-page">
<main>
<a href="/programming">
<h4>Programming</h4></a>
<h1 class="h2" style="color:black;text-align:left;">Kernel Patching 101: How to Make Repairs Without System Downtime</h1>
<br>
Tuesday, January 5, 2016
<span id="likes-container" style="float:right;">
</span>
<br><br>
<table width="100%">
<tr>
<td style="vertical-align:middle; width: 80px !important;">
<a href="https://appdevelopermagazine.com/author/238/Vojtech-Pavlik">
<img decoding="async" width="65" height="65" src="https://news-cdn.moonbeam.co/stargate/?w=65&q=25&p=/writers/Vojtech-Pavlik_53v92w5d.jpg" alt="Vojtech Pavlik" title="Vojtech Pavlik" class="img-circle"/>
</a>
</td>
<td style="font-size:14px !important;vertical-align:middle">
<a href="https://appdevelopermagazine.com/author/238/Vojtech-Pavlik">
<font color="black" style="font-weight: bold !important;">Vojtech Pavlik</font></a>
</td>
</tr>
</table>
<div class="news-blog news-banner-one">
<div>
</div>
<center></center>
</div>
<br>
<!--
<div align="right"> <i class="fa fa-eye"></i></div>-->
<div class="profile-inner-wrapper clearfix">
<hr>
<div class="typography-sub-content-wrapper">
<div>Today, we increasingly rely on computers to control critical activities like stock trading, flight control or nuclear power plant management. These services must not fail or have outages, they must be “always on.” Redundant systems composed of components of independent origin are being used to prevent systemic errors that cause larger outages while hot-swappable components have been designed to allow replacing components without shutting down systems.</div><div><br></div><div>Live kernel patching is the software equivalent of hot-swappable physical components, as it allows replacing a faulty function inside the kernel without taking the system offline.</div><div><br></div><h2 class='h3'>When to Use Kernel Patching?</h2><div><br></div><div>Change management commonly recognizes three tiers of change:</div><div><br></div><div>- Incident response</div><div>- Emergency change</div><div>- Scheduled change</div><div><br></div><div>A system could be down or in the midst of being actively exploited and a corrective action is needed immediately – an incident response is required. In an emergency, while the system is still running, there is an identified risk that the system might crash or have a known vulnerability to attack, requiring an expedited action without delay. Scheduled changes are typically improvements that can wait until a window when the system is not needed.</div><div><br></div><div>Live patching provides that quick solution to incidents and emergencies caused by kernel issues and, in effect, turns the final resolution of such an issue into a scheduled change. This is crucial for customers with PCI-DSS, SSAE-16, ISO-27001 or other compliance and security certifications that mandate a timeliness of incident response.</div><div><br></div><h2 class='h3'>Who Uses Kernel Patching?</h2><div><br></div><div>A typical case for live patching is in memory databases, where the cost of reboot and, by extension, the value of avoiding a reboot is highest. The huge processing and analytics power of an in-memory database comes at a cost of having to load the complete dataset from disk to memory when the database is starting.</div><div><br></div><div>Redundancy and replication can mitigate externally visible downtime, however a delay in processing during failover is still measurable. Using live patching eliminates the delay and may turn out to be much more cost effective than owning a second, very large server that acts only as a hot spare.</div><div><br></div><div>Mission-critical infrastructure services are another use case. These typically are redundant, and the goal is to keep them fully redundant at all times. The redundancy is there to cope with failures. It is not a tool to be used by administrators routinely for introducing changes. Live patching can help by allowing IT to apply fixes without having to go through a reduced redundancy cycle.</div><div><br></div><div>Simulations and High Performance Computing (HPC) calculations with terabytes of data in flight and spread over thousands of systems often cannot afford to stop and save all that data to storage; nor is a rolling reboot of the whole HPC cluster advisable. Live patching can help to keep the calculation going if a bug in the kernel is causing instability in the cluster.</div><div><br></div><div>Live patching helps save on update costs, allowing IT to apply fixes in seconds, rather than hours or days to a large farm of servers.</div><div><br></div><h2 class='h3'>Intro: kGraft</h2><div><br></div><div>kGraft is a live patching technology developed by SUSE. kGraft is designed to be fast, cause no measurable interruption of service during patching, and is easy and transparent to use.</div><div><br></div><div>Simply installing a kGraft RPM package patches the kernel; upgrading the RPM package to a newer version updates the kernel to the next patch level; and downgrading the RPM package downgrades the patch level.</div><div><br></div><div>To achieve all design goals, constraints had to be put on what kGraft can do. Most importantly, the scope of patches that are be available as live patches is limited to CVE vulnerabilities rated at CVSS level6 and higher, and to bugs that could cause data corruption or system instability.</div><div><br></div><div>Internally, kGraft implements patching by using ftrace, a kernel tracing toolkit, to put a CALL instruction into a reserved space at the beginning of a function that it wants to replace, which then redirects the code flow into ftrace,, which in turns calls into kGraft upon any invocation of the to be replaced function.</div><div><br></div><div>kGraft then decides which replacement function should be called instead. This is much more reliable approach than changing all call sites that want to execute the function to call the replacement. There can be thousands of call sites inside the kernel, and identifying all is a nearly impossible task.</div><div><br></div><h2 class='h3'>Creating Patches</h2><div><br></div><div>There are two fundamental ways to create live patches: manual and automated.</div><div><br></div><div>Automated approaches save effort but tend to make patches larger than required and very hard to review for correctness. In any case, a semantic analysis of the patch must be done by a human, which mostly negates the saved effort by automating patch generation.</div><div><br></div><div>kGraft provides tools for automation. However, experience has shown that creating patches manually allows users to produce higher quality patches that can be fully independently reviewed in source form and proven to do exactly what they are intended to.</div><div><br></div><div>Since kGraft replaces functions inside the kernel, a starting point is to identify which functions need to be replaced.</div><div><br></div><div>It starts with including the required header files and then defines the following:</div><div><br></div><div>- A new version of a kernel function</div><div><br></div><div>- A structure containing the description of the patch, as well as a list of functions to replace</div><div><br></div><div>- The steps to initialize and clean up the module that uses the kGraft infrastructure to apply and remove the patch upon insertion and removal of the module into and from the Linux kernel</div><div><b><br></b></div><h2 class='h3'>Caveats in Patch Creation</h2><div><br></div><div>The first, very basic caveat in patch creation is inlining. A C compiler can decide that a certain function is small enough that instead of being called, it’s worth embedding it into the calling function whole. This is called inlining. If the inlined function contains a bug, the bug is replicated into any other function that it has been inlined into. This isn’t seen in the C source and is purely a compiler internal decision. All the affected functions need replacing now, not just the original.</div><div><br></div><div>The solution to this is DWARF debug information that is being built and archived together with the kernel contains all that is needed to know the compiler’s inlining decisions. It can be used to expand the list of functions that need to be replaced by the patch author.</div><div><br></div><div>Unexported symbols are another obstacle to watch for. These are symbols used within a kernel object that aren’t available outside of its scope for linking. Using such a function from a patch directly is thus impossible and requires a trick: by using the kallsyms infrastructure of the Linux kernel, it is possible to obtain the addresses of all symbols, including unexported symbols. Such symbols then can be called via those addresses.</div><div><br></div><div>IPA-SRA, or interprocedural scalar replacement of aggregates, is a feature that is as dangerous as its name sounds. It’s a compiler optimization that gives a significant performance boost, but it is also a disaster for patching. It can modify CALL instructions at the end of a function into JMP if the CALL is the last statement of a function. It can transform arguments passed by reference into arguments passed by value if the value is never changed, and it can create multiple variants of a function with fewer arguments, assuming a specific constant value for the removed argument allows for significant reduction of a function.</div><div><br></div><div>This is all recorded in DWARF, the same as inlining and only results in more effort for the patch author.</div><div><br></div><h2 class='h3'>Patching in Detail</h2><div><b><br></b></div><div><img src="/guest_images/kernel-patching-detail.jpg"></div><div><br></div><div>As mentioned earlier, kGraft uses the ftrace framework for call redirection. Ftrace on the x86-64 architecture uses ‘gcc -pg -mfentry’ to generate calls to __fentry__() at the beginning of every function, replacing all those calls with “NOP” instructions at boot and by that reserving space for call redirection in the future. When required, the “NOP” is automatically replaced with a “CALL” to ftrace. kGraft then registers a tracer with ftrace, taking control when a redirection is needed. And that’s it: a function call is redirected.</div><div><br></div><div><img src="/guest_images/kernel-patching-detail-2.jpg"></div><div><br></div><div>Gcc’s “-mfentry” argument is unique to the x86-64architecture. However, similar functionality is offered by “-mprofile-kernel” on the POWER64 architecture, or by “-mhotpatch” on s390x. Supporting ftrace and, by extension, kGraft is thus possible across all major architectures, including Aarch64 (ARM64).</div><div><br></div><h2 class='h3'>The Final Hurdle</h2><div><br></div><div>Using ftrace, it’s fairly straightforward to redirect a single function to a new version. But what happens when multiple functions require being changed simultaneously because they depend on each other? The dependency can be in the form of changed number or types of arguments, return type or even a semantic change not covered by programming language syntax. In this case, we need a consistency model. kGraft uses a consistency model called “leave kernel / switch thread.” Its main virtue is no interruption of service and no impact on the running system whatsoever.</div><div><br></div><div>In kGraft, we want to avoid calling a new function from an old one and vice versa: if the function prototype has changed, this would cause a system crash. We achieve it by remembering a “universe” flag for each thread of execution such as interrupts, user threads or kernel threads. Only when a thread reaches a safe point, where we know that no kernel function is being executed by that thread, can we switch the universe flag and the thread starts executing new functions.</div><div><br></div><div><img src="/guest_images/kernel-patching-detail-3.jpg"></div><div><br></div><div>This safe point is the end of interrupt for interrupts, kernel exit/entry for user space threads and the so-called freezer for kernel threads. After applying a patch, threads migrate one by one to the new universe as they pass through their respective safe points. No stopping of anything is needed, and once everyone is in the new universe, kGraft declares patching complete.</div><div><br></div><div>But what if a thread never does anything and never passes a safe point? We call these threads “eternal sleepers.” They might be server daemons waiting for a request that never comes or getties on consoles where no one ever logs in or threads for handling situations that never arise. They just wait for their cue and sleep inside the kernel forever.</div><div><br></div><div>Patching cannot be declared complete until even these threads are moved over to the new universe. kGraft has to wake them up. This is done by sending them a signal, “SIGKGRAFT.” This special signal wakes up the thread and causes it to attempt to exit the kernel to handle the signal, thus passing a safe point. At the safe point, kGraft catches the signal and returns the thread back to the kernel. The sleeping user space application never notices, its thread is safely migrated, and success can be declared.</div><div><br></div><div>Many other consistency models are also being proposed and implemented. One is the Ksplice consistency model (now categorized as “leave patched set / switch kernel”), which achieves consistency simply by stopping the whole system for patching. Stopping isn’t enough, though. After stopping, every thread needs to be checked to determine whether it is executing any of the to be patched functions. If it is, the kernel is resumed and stopped later to try again. This model is as safe as kGraft’s, but can cause up to 40ms of interruption of service for each patch, and fails to patch if eternal sleepers are sleeping in any of the patched functions.</div><div><br></div>
<img loading="lazy" width="750" height="750" alt="Kernel Patching 101: How to Make Repairs Without System Downtime" title="Kernel Patching 101: How to Make Repairs Without System Downtime" src="https://news-cdn.moonbeam.co/stargate/?q=25&w=750&p=%2FKernel%2DPatching%2DApp%2DDeveloper%2DMagazine%5Fda2ha3dk%2Ejpg">
<br><br><br>
<br><br><strong>Read more:</strong> <a rel='nofollow' target='_blank' href='https://www.suse.com/products/live-patching/'>https://www.suse.com/products/live-patching/</a><br><br><br><br><hr><i>This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.</i><hr>
</div>
<hr>
<img loading="lazy" src="/images/adm-sub.jpg" width="100%" alt="Subscribe to App Developer Magazine" title="Subscribe to App Developer Magazine">
<br><br>
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
<br><br>
<h2>MEMBERS GET ACCESS TO</h2><ul><li>- Exclusive content from leaders in the industry<br><li>- Q&A articles from industry leaders<br><li>- Tips and tricks from the most successful developers weekly<br><li>- Monthly issues, including all 90+ back-issues since 2012<br><li>- Event discounts and early-bird signups<br><li>- Gain insight from top achievers in the app store<br><li>- Learn what tools to use, what SDK's to use, and more<br>
<br>
<a href="https://appdevelopermagazine.com/subscribe"><h4>Subscribe here</h4></a>
<br><br>
</div>
<div class="profile-info-block">
<i class="fa fa-thumb-tack"></i></span>
<span class="profile-info-text"><a rel='search' title='Search related to Kernel Patching 101: How to Make Repairs Without System Downtime' href='https://appdevelopermagazine.com/search/Kernel-Patching-101:-How-to-Make-Repairs-Without-System-Downtime'>Kernel Patching 101: How to Make Repairs Without System Downtime</a>, <a rel='search' title='Search related to Kernel' href='https://appdevelopermagazine.com/search/kernel'>Kernel</a>, <a rel='search' title='Search related to kGraft' href='https://appdevelopermagazine.com/search/kgraft'>kGraft</a>, <a rel='search' title='Search related to DWARF' href='https://appdevelopermagazine.com/search/dwarf'>DWARF</a>, <a rel='search' title='Search related to Patching' href='https://appdevelopermagazine.com/search/patching'>Patching</a></span>
</div>
<div class="profile-icon-wrapper">
<div class="share">
<span class="share-head"> <small><i class="fa fa-retweet"></i></small> <strong><font color="black">Share</font></strong> </span>
<ul class="clearfix">
<li>
<a href="http://www.facebook.com/sharer.php?u=https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" target="_blank" class="share-btn facebook" aria-label="Share this article on Facebook">
<i class="fa fa-facebook"></i>
</a>
</li>
<li>
<a href="http://twitter.com/share?url=https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/&text=Kernel%20Patching%20101:%20How%20to%20Make%20Repairs%20Without%20System%20Downtime&via=appdevelopermag" target="_blank" class="share-btn twitter" aria-label="Share this article on X">
<i class="fa fa-twitter"></i>
</a>
</li>
<li>
<a href="http://www.linkedin.com/shareArticle?url=https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/&title=Kernel%20Patching%20101:%20How%20to%20Make%20Repairs%20Without%20System%20Downtime&source=https://appdevelopermagazine.comhttps://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" target="_blank" class="share-btn linkedin" aria-label="Share this article on LinkedIn">
<i class="fa fa-linkedin"></i>
</a>
</li>
<li>
<a href="http://reddit.com/submit?url=https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/&title=Kernel%20Patching%20101:%20How%20to%20Make%20Repairs%20Without%20System%20Downtime" target="_blank" class="share-btn reddit" aria-label="Share this article on Reddit">
<i class="fa fa-reddit"></i>
</a>
</li>
<li>
<!-- Email -->
<a href="mailto:?subject=Article%20on%20App%20Developer%20Magazine&body=Article: https://appdevelopermagazine.com/kernel-patching-101:-how-to-make-repairs-without-system-downtime/" target="_blank" class="share-btn email" aria-label="Email this article">
<i class="fa fa-envelope"></i>
</a>
</li>
</ul>
</div>
</div>
</article>
</main>
</div>
<div class="col-xs-12 col-sm-4">
<div class="aside-stay-update">
<h2>Stay Updated</h2>
<span>Sign up for our newsletter for the headlines delivered to you</span>
<form action="/newsletter/join_nl.asp" name="stayupdate" novalidate>
<!--<input class="email" type="text" id="email" placeholder="YOUR EMAIL" />-->
<input type="text" class="email" id="eml" name="eml" placeholder="YOUR EMAIL" data-ng-model = "contactdata.uemail" data-ng-pattern = "/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/" required data-ng-class = "{'error':stayupdate.email.$invalid && submit}" />
<button class="sub" type="submit" value="" data-ng-click = "userRegister(stayupdate.$valid)" aria-label="Submit"><i class="fa fa-envelope"></i></button>
</form>
<p class="showsuccess">
SuccessFull SignUp
</p>
</div>
<h2>Featured Stories</h2>
<br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/seestar-s50-pro-smart-telescope-launches/" title="Seestar S50 Pro Smart Telescope Launches">
<img fetchpriority="high" decoding="async" width="370" height="370" alt="Seestar S50 Pro Smart Telescope Launches" title="Seestar S50 Pro Smart Telescope Launches" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Seestar-S50-Pro-Launches-on-ScopeTrader_45cdhdsr.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Seestar S50 Pro Smart Telescope Launches</strong></span>
<span class="live-news">Tuesday, August 25, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div id="adContainer">
<a target="_blank" href="/find-resources/?r=497&p=Google Play Store Developer UK-300x300-vOrg1.jpg">
<img loading="lazy" width="500" height="500" src="https://news-cdn.moonbeam.co//creatives//Google Play Store Developer UK-300x300-vOrg1_sfyv4582.jpg" alt="UK_App_developer_sitewide" />
</a>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/intersignal-releases-braid-pathfinder-developer-preview/" title="Intersignal Releases Braid Pathfinder Developer Preview">
<img loading="lazy" decoding="async" width="370" height="370" alt="Intersignal Releases Braid Pathfinder Developer Preview" title="Intersignal Releases Braid Pathfinder Developer Preview" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Intersignal-Releases-Braid-Pathfinder-Developer-Preview-App-Developer-Magazine_x76tpgoy.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Intersignal Releases Braid Pathfinder Developer Preview</strong></span>
<span class="live-news">Monday, August 17, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/agentic-ai-transforming-how-families-access-and-bolster-legal-help/" title="Agentic AI transforming how families access and bolster legal help">
<img loading="lazy" decoding="async" width="370" height="370" alt="Agentic AI transforming how families access and bolster legal help" title="Agentic AI transforming how families access and bolster legal help" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Agentic-AI-transforming-how-families-access-and-bolster-legal-help_1impqltt.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Agentic AI transforming how families access and bolster legal help</strong></span>
<span class="live-news">Thursday, August 13, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/creator-led-growth-fails-subscription-apps-without-attribution/" title="Creator-led growth fails subscription apps without attribution">
<img loading="lazy" decoding="async" width="370" height="370" alt="Creator-led growth fails subscription apps without attribution" title="Creator-led growth fails subscription apps without attribution" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Creator-led-growth-fails-subscription-apps-without-attribution_fs0q40tl.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Creator-led growth fails subscription apps without attribution</strong></span>
<span class="live-news">Wednesday, August 12, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/typemock-launches-test-review-for-smarter-unit-testing/" title="TypeMock Launches Test Review for Smarter Unit Testing">
<img loading="lazy" decoding="async" width="370" height="370" alt="TypeMock Launches Test Review for Smarter Unit Testing" title="TypeMock Launches Test Review for Smarter Unit Testing" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/154866675_l_pp62j4tq.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>TypeMock Launches Test Review for Smarter Unit Testing</strong></span>
<span class="live-news">Monday, August 3, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/ftc-ai-accuracy-policy-puts-chatbot-trust-under-review/" title="FTC AI accuracy policy puts chatbot trust under review">
<img loading="lazy" decoding="async" width="370" height="370" alt="FTC AI accuracy policy puts chatbot trust under review" title="FTC AI accuracy policy puts chatbot trust under review" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/FTC-AI-accuracy-policy-puts-chatbot-trust-under-review_6dphrkyr.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>FTC AI accuracy policy puts chatbot trust under review</strong></span>
<span class="live-news">Tuesday, July 21, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/human-made-video-ads-outperform-ai-generated-creativity/" title="Human-Made Video Ads Outperform AI-Generated Creativity">
<img loading="lazy" decoding="async" width="370" height="370" alt="Human-Made Video Ads Outperform AI-Generated Creativity" title="Human-Made Video Ads Outperform AI-Generated Creativity" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Human-Made-Video-Ads-Outperform-AI-Generated-Creativity_5rlk23bu.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Human-Made Video Ads Outperform AI-Generated Creativity</strong></span>
<span class="live-news">Monday, July 20, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/spacex-accelerates-ai-push-with-new-hires/" title="SpaceX accelerates AI push with new hires">
<img loading="lazy" decoding="async" width="370" height="370" alt="SpaceX accelerates AI push with new hires" title="SpaceX accelerates AI push with new hires" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/SpaceX-accelerates-AI-push-with-new-hires-AppDeveloperMagazine_jew2cegw.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>SpaceX accelerates AI push with new hires</strong></span>
<span class="live-news">Monday, July 20, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/nearlens:-smart-glasses-privacy-taken-seriously/" title="NearLens: Smart Glasses Privacy Taken Seriously">
<img loading="lazy" decoding="async" width="370" height="370" alt="NearLens: Smart Glasses Privacy Taken Seriously" title="NearLens: Smart Glasses Privacy Taken Seriously" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=%5Cnews%5Cfiles%5C"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>NearLens: Smart Glasses Privacy Taken Seriously</strong></span>
<span class="live-news">Wednesday, July 15, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div class="aside-sec-wrap" style="">
<div class="aside-sec" style="">
<figure>
<a href="https://appdevelopermagazine.com/agentic-commerce-grows-cequence-unveils-ai-era-bot-defense/" title="Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense">
<img loading="lazy" decoding="async" width="370" height="370" alt="Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense" title="Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense" src="https://news-cdn.moonbeam.co/stargate/?=25&w=370&p=/Agentic-Commerce-Grows-Cequence-Unveils-AI-Era-Bot-Defense_jetra5u2.jpg"">
</a>
</figure>
<div class="live-news-feed-wrap">
<div class="span-wrapper">
<span><strong>Agentic Commerce Grows Cequence Unveils AI-Era Bot Defense</strong></span>
<span class="live-news">Wednesday, July 15, 2026</span>
</a>
</div>
</div>
</div>
</div>
<br><br>
<div id="adContainer">
<a target="_blank" href="/find-resources/?r=497&p=Google Play Store Developer UK-300x300-vOrg1.jpg">
<img loading="lazy" width="500" height="500" src="https://news-cdn.moonbeam.co//creatives//Google Play Store Developer UK-300x300-vOrg1_sfyv4582.jpg" alt="UK_App_developer_sitewide" />
</a>
</div>
<a title="Complete software development news" href="https://appdevelopermagazine.com/news"><h2>Get More App News</h2></a>
<br><br>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
<footer>
<div class="footer">
<div class="chronical-instagram">
<div class="chronical-instagram-head">
</div>
<div class="important-links">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-4">
<div class="about-chronical">
<div class="footer-logo">
<a href="https://appdevelopermagazine.com"><img src="https://appdevelopermagazine.com/images/logo-ch.png" alt="App Developer Magazine is an app programming and software tech media property, dedicated to covering news, and stories for iOS iPhone, Android, Gaming, IoT, VR, and AR app developers." title="App Developer Magazine is an app programming and software tech media property, dedicated to covering news, and stories for iOS iPhone, Android, Gaming, IoT, VR, and AR app developers."/></a>
</div>
<p>
&copy; 2013-2026 App Developer Magazine. All rights reserved.<br><br> Powered by <a target='_blank' title='Moonbeam Software Company Springfield, Mo' href='https://moonbeamdevelopment.com'>Moonbeam</a>
</p>
</div>
</div>
<div class="col-xs-12 col-sm-2">
<div class="information important-links-list">
<h4>information</h4>
<ul><li><a href='https://appdevelopermagazine.com/page/126/about'>about us</a></li><li><a href='https://appdevelopermagazine.com/submission-guidelines'>Editorial Policy</a></li><li><a href='https://appdevelopermagazine.com/authors-and-contributors'>Authors</a></li><li><a href='https://appdevelopermagazine.com/advertise-with-us'>Advertise</a></li><li><a href='https://appdevelopermagazine.com/terms/'>Terms</a></li><li><a href='https://appdevelopermagazine.com/privacy/'>Privacy</a></li></ul>
</div>
</div>
<div class="col-xs-12 col-sm-2">
<div class="partners important-links-list">
<h4>Magazine</h4>
<ul><li><a href='https://appdevelopermagazine.com/subscribe'>Subscribe</a></li><li><a href='https://appdevelopermagazine.com/monthly-issues/'>Issues</a></li><li><a href='https://appdevelopermagazine.com/sponsors'>Sponsors</a></li></ul>
</div>
</div>
<div class="col-xs-12 col-sm-2">
<div class="categories important-links-list">
<h4>latest</h4>
<ul><li><a href='https://appdevelopermagazine.com/news'>News</a></li><li><a href='https://appdevelopermagazine.com/featured'>Top Stories</a></li></ul>
</div>
</div>
<div class="col-xs-12 col-sm-2">
<div class="stay-with important-links-list">
<h4>stay with us</h4>
<ul><li><a href='https://appdevelopermagazine.com/contact-us/'>Contact Us</a></li><li><a href='#' onclick='window.MarketByte.launchLogin()'>My Account</a></li><li><a href='https://appdevelopermagazine.com/app'>ADM app</a></li></ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer-sticker">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="sticker">
<div class="sticker-content">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="company-links">
<div class="container">
<div class="row">
<ul class="clearfix">
<li>
<a target="_blank" href="https://moonbeamdevelopment.com" title="Moonbeam Software Company Springfield, Mo"><img loading="lazy" src="/images/moonbeam.png" alt="Moonbeam Software Company Springfield, Mo" title="Moonbeam Software Company Springfield, Mo"/></a>
</li>
<li>
<a target="_blank" href="https://chirpgps.com" title="Best GPS tracking app Chirp GPS"><img loading="lazy" src="/images/chirpgps.png" alt="Best GPS tracking app Chirp GPS" title="Best GPS tracking app Chirp GPS"/></a>
</li>
<li>
<a target="_blank" href="http://www.milkitapp.com" title="Milk it game app"><img loading="lazy" src="/images/milkit.png" alt="Milk it game app" title="Milk it game app"/></a>
</li>
<li>
<a target="_blank" href="https://scopetrader.com" title="Astronomy Community for Telescope and Gear news, buying, and selling"><img loading="lazy" src="https://scopetrader.com/images/white-small.png" alt="Astronomy Community for Telescope and Gear news, buying, and selling" title="Astronomy Community for Telescope and Gear news, buying, and selling"/></a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</footer>
</div>
<script defer type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/angular-1.4.7.min.js"></script>
<script defer type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/angular.js"></script>
<script defer>
document.addEventListener("DOMContentLoaded", function () {
if (window.angular) {
angular.element(document).ready(function () {
angular.bootstrap(document, ["cronical"]);
});
}
});
</script>
<script defer type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/bootstrap.js"></script>
<script defer type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/owl.carousel.js"></script>
<script defer type="text/javascript" src="https://appdevelopermagazine.com/sites/themes/prod/assets/js/site.js"></script>
</body>
</html>