{"id":467281,"date":"2025-07-17T15:01:11","date_gmt":"2025-07-17T15:01:11","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=467281"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=467281","title":{"rendered":"<span>Livepatching: \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u00ab\u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0435\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u044f\u0434\u0440\u0430 Linux \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0430\u0433\u0430<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0411\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 Linux-\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0435\u0434\u0435\u043b\u044f\u043c\u0438 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0436\u0435\u043b\u0435\u0437\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0435\u0440\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u041f\u041e \u2014 \u044d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u043e, \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0434\u0435\u0448\u0435\u0432\u043e.<\/p>\n<p>\u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u044f\u0434\u0440\u0435 Linux?<\/p>\n<p>\u041e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0415\u0432\u0433\u0435\u043d\u0438\u0439, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/yadro.com\/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=livepatch1_article150725\" rel=\"noopener noreferrer nofollow\">YADRO<\/a>. \u0417\u0430\u0434\u0430\u0447\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u044f\u0434\u0440\u0430 Linux, \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0443\u0436\u0435 \u043e\u043a\u043e\u043b\u043e 15 \u043b\u0435\u0442.<\/p>\n<p>\u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 livepatching (\u0434\u0430\u043b\u0435\u0435 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u0443\u044e \u043a\u0430\u043b\u044c\u043a\u0443), \u043a\u0430\u043a \u0442\u0430\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0438 \u043a\u0430\u043a \u043e\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u0433 \u0432 \u044f\u0434\u0440\u0435 Ubuntu 22.04 Server.<\/p>\n<p>\u0423 \u0441\u0442\u0430\u0442\u044c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435. \u0422\u0430\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442 \u043e\u0434\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0437\u043d\u0430\u0435\u043c, \u043d\u0430 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435.<\/p>\n<p>\u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 x86 \u0438 RISC-V (\u0445\u043e\u0442\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0434\u043b\u044f ARM64, PowerPC, s390x).<\/p>\n<h3>\u041e\u0448\u0438\u0431\u043a\u0438, \u043e\u0448\u0438\u0431\u043a\u0438 \u043a\u0440\u0443\u0433\u043e\u043c  <\/h3>\n<p>\u041a\u0430\u043a \u0438 \u0432 \u043b\u044e\u0431\u043e\u043c \u041f\u041e, \u0432 \u044f\u0434\u0440\u0435 Linux \u0435\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438, \u0438 \u0438\u0445 \u0442\u0430\u043c \u043c\u043d\u043e\u0433\u043e. \u0411\u044b\u0432\u0430\u044e\u0442 \u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438: \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"https:\/\/lore.kernel.org\/linux-cve-announce\/\" rel=\"noopener noreferrer nofollow\">Linux CVE Announce<\/a> \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438 \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u044f\u0434\u0440\u0430 Linux, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0430\u0432\u0433\u0443\u0441\u0442 2024 \u0442\u0430\u043c \u0431\u044b\u043b\u043e \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0431\u043e\u043b\u0435\u0435 200 (!) \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0441 CVSS \u043e\u0442 7.0 \u0438 \u0432\u044b\u0448\u0435.<\/p>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u00abTime is money\u00bb \u0434\u0430\u0432\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u0432 \u00abUptime is money\u00bb (uptime \u2014 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438). \u0422\u0430\u043a \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u044f\u0434\u0440\u0435 Linux, \u043d\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u044f \u043d\u0430\u0434\u043e\u043b\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<h3>\u00ab\u0422\u043e\u0447\u0435\u0447\u043d\u044b\u0435\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u044f\u0434\u0440\u043e Linux \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u043b\u0433\u043e \u0438 \u0434\u043e\u0440\u043e\u0433\u043e, \u0430 \u0432 \u044f\u0434\u0440\u0435 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430\u0434\u043e \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u00ab\u0442\u043e\u0447\u0435\u0447\u043d\u043e\u00bb: \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044f\u0434\u0440\u0430.\u00a0<\/p>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439: \u0442\u044b\u0441\u044f\u0447\u0438 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043e\u0442 stable-\u0432\u0435\u0440\u0441\u0438\u0438 v6.6.40 \u043a v6.6.70 \u0438\u043b\u0438 \u0435\u0449\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043a v6.12.30. \u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0442\u0443\u0442, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u044f\u0434\u0440\u0430 Linux \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 \u044f\u0434\u0440\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u043c, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c.\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u0430\u043a\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\u00a0<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0434\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0432 \u044f\u0434\u0440\u0435 Linux \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0446\u0435\u043d\u043d\u044b\u043c\u0438.<\/p>\n<p>\u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438: RedHat, SUSE, Canonical, Oracle, Cloud Linux<em> <\/em>(TuxCare \/ KernelCare) \u0438 \u0434\u0440\u0443\u0433\u0438\u0435. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u2014 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438, \u0445\u043e\u0442\u044f \u0443 Canonical \u0435\u0441\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0430\u0448\u0438\u043d \u0441 Ubuntu.<\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b \u0438\u0437 \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0441\u0430\u043c\u0438 \u0440\u0435\u0448\u0430\u044e\u0442, \u043a\u0430\u043a\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RedHat \u0438 Canonical \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u0438\u0445 \u0440\u0430\u0437 \u0432 \u043c\u0435\u0441\u044f\u0446\u2013\u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0435\u0436\u0435.<\/p>\n<p>\u0410 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0435 \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Linux? \u0418\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e security-\u0431\u0430\u0433\u043e\u0432, \u043d\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432? \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0436\u0435 \u00ab\u043f\u043e\u0437\u0430\u0432\u0447\u0435\u0440\u0430\u00bb, \u0430 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f-\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e?<\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e!<\/p>\n<p>\u0415\u0441\u0442\u044c \u043c\u043d\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u0435\u0440\u0445\u043a\u0432\u0430\u043b\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e, \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u043f\u0440\u043e\u0434\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>\u0413\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u043e \u0438 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u0412\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421, \u043e\u043f\u044b\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439. \u041e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0435\u0434\u0435\u043b\u0435.<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u00ab\u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0445\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u044f\u0434\u0440\u0430 Linux, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e. \u041a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, &#8212; \u0441 2008 \u0433\u043e\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Ksplice, \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Oracle.<\/p>\n<p>\u0412 2013\u20132014 \u0433\u043e\u0434\u0430\u0445 RedHat \u0438 SUSE \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0441\u0432\u043e\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u2014 Kpatch \u0438 kGraft. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f Cloud Linux \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 KernelCare. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Kpatch \u0438 kGraft, KernelCare \u2014 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0434 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0442\u0430\u043c \u0437\u0430\u043a\u0440\u044b\u0442.<\/p>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438\u0437 RedHat \u0438 SUSE \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/livepatch.html\" rel=\"noopener noreferrer nofollow\">\u0432 mainline-\u044f\u0434\u0440\u0435 Linux<\/a>. \u041e\u043d\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0438 \u0443\u0441\u0438\u043b\u0438\u044f, \u0438 \u0443\u0436\u0435 \u0432 2015 \u0433\u043e\u0434\u0443 \u043f\u0435\u0440\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ablivepatch\u00bb \u0432\u043e\u0448\u043b\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u044e 4.0 \u044f\u0434\u0440\u0430 Linux. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0437 mainline-\u044f\u0434\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0443\u043f\u0430\u043b\u0430 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Kpatch \u0438 kGraft: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439.<\/p>\n<p>\u041d\u043e \u0443\u0436\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430 5.1 (2019) \u0432 mainline \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432\u0441\u0435, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0432 Kpatch \u0438 kGraft, \u0438 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435. \u0422\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433 \u0438\u0437 mainline-\u044f\u0434\u0440\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435.<\/p>\n<\/div>\n<\/details>\n<h3>\u041f\u0430\u0442\u0447\u0438\u043c \u0442\u043e, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e<\/h3>\n<p>\u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0432 2015 \u0433\u043e\u0434\u0443, \u0435\u0449\u0435 \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 YADRO. \u041f\u0435\u0440\u0435\u0434\u043e \u043c\u043d\u043e\u0439 \u0438 \u043c\u043e\u0438\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b\u0430 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041a\u043b\u0438\u0435\u043d\u0442\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0433\u0434\u0435 \u044f \u0442\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0435\u043e\u0445\u043e\u0442\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 Linux, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0437\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0434\u0435\u043d\u0435\u0433. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u044f\u0434\u0440\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 Linux \u0432\u044b\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0448\u0438\u0431\u043a\u0438: \u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0418 \u0434\u0430, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u0434\u0430 \u00ab\u043f\u0440\u043e\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c\u00bb \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e. \u0423\u0431\u0435\u0434\u0438\u0442\u044c \u043b\u044e\u0434\u0435\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 security-\u0434\u044b\u0440\u044b \u0431\u044b\u043b\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u043e. \u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u0433\u0434\u0435-\u0442\u043e \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u044f\u0434\u0440\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u043e \u043f\u0430\u0434\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u2014 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0441\u0430\u043c\u0438 \u043d\u0430\u0441 \u0442\u043e\u0440\u043e\u043f\u0438\u043b\u0438, \u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443\u00bb \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u0435\u0435.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00ab\u043f\u0430\u0442\u0447\u0438\u043c \u0442\u043e, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u00bb. \u0417\u0430 6 \u043b\u0435\u0442, \u043f\u043e\u043a\u0430 \u044f \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0432 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439, \u043b\u0438\u0448\u044c \u043e\u043a\u043e\u043b\u043e 30% \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0431\u0430\u0433\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 \u0431\u044b\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 70% \u2014 \u0432\u0430\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430\u0448\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432.<\/p>\n<blockquote>\n<p>\u041a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0432\u044b\u0431\u043e\u0440\u0443, \u0447\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438, \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d. \u041a\u0440\u0443\u043f\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0422\u0430\u043a \u0434\u0435\u043b\u0430\u044e\u0442 <a href=\"https:\/\/www.redhat.com\/en\/topics\/linux\/what-is-linux-kernel-live-patching\" rel=\"noopener noreferrer nofollow\">RedHat<\/a>, <a href=\"https:\/\/ubuntu.com\/security\/livepatch\" rel=\"noopener noreferrer nofollow\">Canonical<\/a>, <a href=\"https:\/\/ksplice.oracle.com\/\" rel=\"noopener noreferrer nofollow\">Oracle<\/a>, <a href=\"https:\/\/docs.tuxcare.com\/live-patching-services\/\" rel=\"noopener noreferrer nofollow\">Cloud Linux (TuxCare \/ KernelCare)<\/a>.\u00a0<\/p>\n<p>SUSE \u2014 \u043e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0445, \u043a\u0442\u043e <a href=\"https:\/\/documentation.suse.com\/smart\/systems-management\/html\/klp\/index.html\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442<\/a> \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f security-\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439.<\/p>\n<\/blockquote>\n<h3>Livepatch-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 Linux-\u0441\u0438\u0441\u0442\u0435\u043c\u044b) \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430 Linux, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:\u00a0<\/p>\n<ul>\n<li>\n<p>\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437 vmlinux \u0438\/\u0438\u043b\u0438 \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430,<\/p>\n<\/li>\n<li>\n<p>\u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u044f\u0434\u0440\u0430 Linux.\u00a0<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0a7\/b72\/83a\/0a7b7283a6c4abaff257cd2f647b67dc.png\" width=\"603\" height=\"653\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0a7\/b72\/83a\/0a7b7283a6c4abaff257cd2f647b67dc.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0a7\/b72\/83a\/0a7b7283a6c4abaff257cd2f647b67dc.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>insmod<\/code> \u0438\u043b\u0438 <code>modprobe<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0447\u0435\u0440\u0435\u0437 sysfs.\u00a0<\/p>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u0434 \u044f\u0434\u0440\u0430 Linux (\u0442\u043e\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c) \u0438 \u043d\u043e\u0432\u044b\u0439 (\u0442\u043e\u0442, \u0447\u0442\u043e \u0432 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u0435) <strong>\u0441\u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442<\/strong> \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u042d\u0442\u043e \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 runtime: \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 sysfs, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0438\u0437 mainline-\u044f\u0434\u0440\u0430, \u0442\u043e \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0423 TuxCare \/ KernelCare \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c, \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u043c, \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043d\u043e \u043c\u044b \u0435\u0433\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 RISC-V, \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043f\u0430\u0442\u0447\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>stop_machine()<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 6.16 \u044f\u0434\u0440\u0430 Linux, \u0434\u043b\u044f RISC-V <code>stop_machine()<\/code> \u0443\u0436\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0413\u043e\u0442\u043e\u0432\u0438\u043c livepatch<\/h3>\n<p>\u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u0430\u043a \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u044f\u0434\u0440\u0435 6.8.0-41-generic \u0432 Ubuntu Server 24.04, x86-64.<\/p>\n<p>\u041b\u0443\u0447\u0448\u0435 \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u041e\u0421 \u0432 QEMU VM \u0438\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 ISO-\u043e\u0431\u0440\u0430\u0437\u044b Ubuntu Server 24.04.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0434\u0440\u0430, \u0442\u043e \u043f\u0430\u043a\u0435\u0442\u044b \u0441 6.8.0-41-generic \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>linux-image-6.8.0-41-generic <a href=\"https:\/\/archive.ubuntu.com\/ubuntu\/pool\/main\/l\/linux-signed\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>,<\/p>\n<\/li>\n<li>\n<p>linux-modules-6.8.0-41-generic <a href=\"https:\/\/archive.ubuntu.com\/ubuntu\/pool\/main\/l\/linux\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u042f\u0434\u0440\u043e 6.8.0-41-generic \u0434\u043b\u044f Ubuntu 24.04 \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043e \u0432 \u0430\u0432\u0433\u0443\u0441\u0442\u0435 2024. \u0412 \u044d\u0442\u043e\u043c \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c \u0431\u0430\u0433, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b <a href=\"https:\/\/syzkaller.appspot.com\/bug?extid=b94a6818504ea90d7661\" rel=\"noopener noreferrer nofollow\">Syzkaller<\/a> \u0432 \u043c\u0430\u0435 2024.<\/p>\n<p><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=21a673bddc8fd4873c370caf9ae70ffc6d47e8d3\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/a> \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u0430\u0433\u0430 \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 mainline-\u044f\u0434\u0440\u043e \u0432 \u0442\u043e\u043c \u0436\u0435 \u043c\u0435\u0441\u044f\u0446\u0435:\u00a0<\/p>\n<pre><code class=\"diff\">diff --git a\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c b\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c index 69e33179960430..73e66a088e25eb 100644 --- a\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c +++ b\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c @@ -58,6 +58,8 @@ __be32 nf_tproxy_laddr4(struct sk_buff *skb, __be32 user_laddr, be32 daddr)  \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 laddr = 0; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 indev = in_dev_get_rcu(skb-&gt;dev); + \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!indev) + \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return daddr;  \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 in_dev_for_each_ifa_rcu(ifa, indev) { \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (ifa-&gt;ifa_flags &amp; IFA_F_SECONDARY)<\/code><\/pre>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0435 Syzkaller \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c <a href=\"https:\/\/syzkaller.appspot.com\/text?tag=ReproC&amp;x=12526504980000\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C<\/a>, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a repro.c, \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a (<code>\"gcc -o repro repro.c\"<\/code>) \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 root. \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>\u0423 \u043c\u0435\u043d\u044f \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u0432 QEMU VM, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 repro \u043f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0430\u0434\u0430\u043b\u0430 \u0441 NULL pointer dereference \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>nf_tproxy_laddr4()<\/code> \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f <code>nf_tproxy_ipv4.ko<\/code>:<\/p>\n<pre><code>[ \u00a0 54.253461] BUG: kernel NULL pointer dereference, address: 0000000000000010 [ \u00a0 54.254236] #PF: supervisor read access in kernel mode [ \u00a0 54.254831] #PF: error_code(0x0000) - not-present page [ \u00a0 54.255411] PGD 103240067 P4D 103240067 PUD 101fed067 PMD 0 [ \u00a0 54.256039] Oops: 0000 [#1] PREEMPT SMP NOPTI [ \u00a0 54.256572] CPU: 1 PID: 1029 Comm: repro Not tainted 6.8.0-41-generic #41-Ubuntu [ \u00a0 54.257419] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04\/01\/2014 [ \u00a0 54.258369] RIP: 0010:nf_tproxy_laddr4+0x1a\/0x50 [nf_tproxy_ipv4] ... [ \u00a0 54.308357] Kernel panic - not syncing: Fatal exception in interrupt<\/code><\/pre>\n<p>\u0413\u043e\u0441\u0442\u0435\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439, \u043f\u043e\u043c\u043e\u0433\u0430\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.\u00a0<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u044d\u0442\u043e\u0442 \u0431\u0430\u0433.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0438\u0437 \u044f\u0434\u0440\u0430 Linux \u0438 open source \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 <a href=\"https:\/\/github.com\/dynup\/kpatch\" rel=\"noopener noreferrer nofollow\">kpatch tools<\/a>. \u0412 \u044f\u0434\u0440\u0435 6.8.0-41-generic \u043d\u0430 x86-64 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 \u0443\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430: <code>CONFIG_LIVEPATCH=y<\/code>.\u00a0<\/p>\n<p>\u0421\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435: \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044f\u0434\u0440\u0430, <code>nf_tproxy_laddr4()<\/code>, \u0430 \u043f\u0440\u0438 \u0437\u0430\u043c\u0435\u043d\u0435 \u0432 runtime \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u043b\u043e\u0445\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e. \u042d\u0442\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u043d\u043e \u0442\u0443\u0442 \u043d\u0430\u043c \u043f\u043e\u0432\u0435\u0437\u043b\u043e \u2014 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u0430\u0442\u0447 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>Kpatch tools \u2014 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439. \u0421\u0435\u0439\u0447\u0430\u0441 \u0438\u0434\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 klp-build, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432\u043e\u0439\u0434\u0435\u0442 \u0432 mainline-\u044f\u0434\u0440\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c \u0434\u0435-\u0444\u0430\u043a\u0442\u043e. \u041d\u043e \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/lwn.net\/Articles\/1020723\/\" rel=\"noopener noreferrer nofollow\">klp-build<\/a> \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u043d\u0435\u0433\u043e <a href=\"https:\/\/lwn.net\/Articles\/1020723\/\" rel=\"noopener noreferrer nofollow\">\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 objtool<\/a> \u2014 \u0435\u0449\u0435 \u0432 \u0441\u0442\u0430\u0434\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0422\u0430\u043a \u0447\u0442\u043e \u2014 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u044b\u043c\u0438, \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c\u0438, \u043d\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c kpatch tools.<\/p>\n<h3>\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438<\/h3>\n<blockquote>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441, \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438\u00a0 <a href=\"https:\/\/drive.yadro.com\/s\/6aBpc7yEd2EgKEm\/authenticate\/downloadShare\" rel=\"noopener noreferrer nofollow\">\u0432 \u044d\u0442\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435<\/a>. \u0422\u0430\u043a\u0436\u0435 \u0442\u0430\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430-reproducer \u0438 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 config-\u0444\u0430\u0439\u043b \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430 Ubuntu \u0438 vmlinux \u0441 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439. \u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f: livepatch2025.\u00a0<\/p>\n<\/blockquote>\n<p>\u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u0441\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 \u0431\u044b\u043b\u0430 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043b\u0438\u0436\u0435 \u043a \u0442\u043e\u0439, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430.<\/p>\n<p>C\u0431\u043e\u0440\u043a\u0443 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044f \u0434\u0435\u043b\u0430\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u043f\u043e \u0442\u0430\u043a\u043e\u043c\u0443 dockerfile:<\/p>\n<pre><code class=\"bash\">FROMubuntu:24.04 RUNecho \"deb-src http:\/\/archive.ubuntu.com\/ubuntu\/ noble main restricted\" &gt;&gt; \/etc\/apt\/sources.list &amp;&amp; \\ echo \"deb-src http:\/\/archive.ubuntu.com\/ubuntu\/ noble-updates main restricted\" &gt;&gt; \/etc\/apt\/sources.list &amp;&amp; \\ apt-get update -y &amp;&amp; \\ ln -fs \/usr\/share\/zoneinfo\/Etc\/UTC \/etc\/localtime &amp;&amp; \\ DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata &amp;&amp; \\ apt-get install -y \\ \u00a0\u00a0\u00a0\u00a0build-essential \\ \u00a0\u00a0\u00a0\u00a0elfutils \\ \u00a0\u00a0\u00a0\u00a0fakeroot \\ \u00a0\u00a0\u00a0\u00a0devscripts \\ \u00a0\u00a0\u00a0\u00a0dpkg-dev \\ \u00a0\u00a0\u00a0\u00a0shellcheck \\ \u00a0\u00a0\u00a0\u00a0kmod \\ \u00a0\u00a0\u00a0\u00a0mc \\ \u00a0\u00a0\u00a0\u00a0libssl-dev \\ \u00a0\u00a0\u00a0\u00a0libelf-dev \\ \u00a0\u00a0\u00a0\u00a0make \\ \u00a0\u00a0\u00a0\u00a0zstd &amp;&amp; \\ apt-get -y build-dep linux &amp;&amp; \\ apt-get install -y linux-headers-6.8.0-41-generic &amp;&amp; \\ apt-get remove -y gcc-13 gcc-13-base cpp-13 gcc-13-x86-64-linux-gnu cpp-13-x86-64-linux-gnu libgcc-13-dev libobjc-13-dev g++-13-x86-64-linux-gnu g++-13 &amp;&amp; \\ apt-get install -y \\ \u00a0\u00a0\u00a0\u00a0gcc-13='13.2.0-23ubuntu4' \\ \u00a0\u00a0\u00a0\u00a0gcc-13-base='13.2.0-23ubuntu4' \\ \u00a0\u00a0\u00a0\u00a0cpp-13='13.2.0-23ubuntu4' \\ \u00a0\u00a0\u00a0\u00a0gcc-13-x86-64-linux-gnu='13.2.0-23ubuntu4' \\ \u00a0\u00a0\u00a0\u00a0cpp-13-x86-64-linux-gnu='13.2.0-23ubuntu4' \\ \u00a0\u00a0\u00a0\u00a0libgcc-13-dev='13.2.0-23ubuntu4' &amp;&amp; \\ ln -s \/usr\/bin\/gcc-13 \/usr\/bin\/gcc<\/code><\/pre>\n<p>\u041d\u0443\u0436\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e GCC (13.2.0-23ubuntu4 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 6.8.0-41-generic) \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0442\u0430\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u044f\u0432\u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0435\u0439\u0447\u0430\u0441 \u0443 Ubuntu 24.04 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f.<\/p>\n<h3>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438<\/h3>\n<p>\u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/dynup\/kpatch\" rel=\"noopener noreferrer nofollow\">Git repo c kpatch tools<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 (source patch): <a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=21a673bddc8fd4873c370caf9ae70ffc6d47e8d3\" rel=\"noopener noreferrer nofollow\">netfilter-tproxy-fix.patch<\/a>.\u00a0<\/p>\n<\/li>\n<li>\n<p>Config, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 6.8.0-41-generic. \u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 linux-modules-6.8.0-41-generic_6.8.0-41.41_amd64.deb \u0438\u043b\u0438 \u0438\u0437 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 \u0442\u0430\u043a\u0438\u043c \u044f\u0434\u0440\u043e\u043c (<code>\/boot\/config-6.8.0-41-generic<\/code>).<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 config-\u0444\u0430\u0439\u043b\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 <code>CONFIG_SYSTEM_TRUSTED_KEYS<\/code> \u0438 <code>CONFIG_SYSTEM_REVOCATION_KEYS<\/code>, \u0438\u043d\u0430\u0447\u0435 \u0441\u0431\u043e\u0440\u043a\u0430 livepatch-\u043c\u043e\u0434\u0443\u043b\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0439\u0442\u0438:<\/p>\n<pre><code class=\"diff\">-CONFIG_SYSTEM_TRUSTED_KEYS=\"debian\/canonical-certs.pem\" +CONFIG_SYSTEM_TRUSTED_KEYS=\"\" ... -CONFIG_SYSTEM_REVOCATION_KEYS=\"debian\/canonical-revoked-certs.pem\" +CONFIG_SYSTEM_REVOCATION_KEYS=\"\"<\/code><\/pre>\n<ul>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 6.8.0-41-generic. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 linux-source-6.8.0_6.8.0-41.41_all.deb (usr\/src\/linux-source-6.8.0\/linux-source-6.8.0.tar.bz2) \u0438\u043b\u0438 <a href=\"https:\/\/wiki.ubuntu.com\/Kernel\/Action\/GitTheSource\" rel=\"noopener noreferrer nofollow\">\u0438\u0437 git repo<\/a>.\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 linux-source-6.8.0\/Makefile \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 6.8.0-41-generic, \u0438\u043d\u0430\u0447\u0435 \u044f\u0434\u0440\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c:<\/p>\n<pre><code class=\"bash\">VERSION = 6 PATCHLEVEL = 8 SUBLEVEL = 0 EXTRAVERSION = -41-generic<\/code><\/pre>\n<ul>\n<li>\n<p><code>vmlinux<\/code> \u0441 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439. kpatch tools \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044f. \u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u044f <code>nf_tproxy_ipv4<\/code> \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<p><code>vmlinux<\/code> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"http:\/\/ddebs.ubuntu.com\/pool\/main\/l\/linux\/linux-image-unsigned-6.8.0-41-generic-dbgsym_6.8.0-41.41_amd64.ddeb\" rel=\"noopener noreferrer nofollow\">dbgsym-\u043f\u0430\u043a\u0435\u0442\u0435<\/a> (<code>usr\/lib\/debug\/boot\/vmlinux-6.8.0-41-generic)<\/code>.<\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u0441\u0435 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0432 <code>\/work\/livepatch\/<\/code> \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0441\u043e \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c:<\/p>\n<pre><code>root@b936e748a113:\/work\/livepatch# ls -l ... drwxrwxr-x 12 ubuntu ubuntu\u00a0  4096 Sep \u00a08\u00a0 2024 kpatch.git -rw-r--r-- \u00a01 ubuntu ubuntu   287442 Aug \u00a02 14:15 config-6.8.0-41-generic drwxrwxr-x 27 \u00a0\u00a02001 \u00a0\u00a02501 \u00a0 4096 Sep 14 21:15 linux-source-6.8.0 -rw-r--r-- \u00a01 ubuntu ubuntu 357001696 Aug \u00a02 14:15 linux-source-6.8.0.tar.bz2 -rw-rw-r-- \u00a01 ubuntu ubuntu\u00a0  1838 Sep 14 20:37 netfilter-tproxy-fix.patch -rw-r--r-- \u00a01 ubuntu ubuntu 410746952 Aug \u00a02 14:15 vmlinux-6.8.0-41-generic<\/code><\/pre>\n<p>\u0423 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Linux \u043f\u0430\u043a\u0435\u0442\u044b \u0441 kpatch tools \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445. \u041d\u043e \u0442\u0430\u043c \u0438\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0432\u0430\u044e\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u0442\u0430\u043a \u0447\u0442\u043e \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432:\u00a0<\/p>\n<pre><code>root@b936e748a113:~# cd \/work\/livepatch\/kpatch.git\/ root@b936e748a113:\/work\/livepatch\/kpatch.git# make -C kpatch-build<\/code><\/pre>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>kpatch-build<\/code>, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c livepatch-\u043c\u043e\u0434\u0443\u043b\u044c. \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c \u044f\u0434\u0440\u0430, \u043a config-\u0444\u0430\u0439\u043b\u0443 \u044f\u0434\u0440\u0430, \u043a vmlinux \u0441 debug info \u0438 \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0430\u0442\u0447\u0443.\u00a0<\/p>\n<pre><code>root@b936e748a113:\/work\/livepatch# \/work\/livepatch\/kpatch.git\/kpatch-build\/kpatch-build \\ \u00a0 -s .\/linux-source-6.8.0 \\ \u00a0 -c .\/config-6.8.0-41-generic \\ \u00a0 -v .\/vmlinux-6.8.0-41-generic \\ \u00a0 .\/netfilter-tproxy-fix.patch   Using source directory at \/work\/livepatch\/linux-source-6.8.0 Testing patch file(s) Reading special section data Building original source Building patched source Extracting new and modified ELF sections nf_tproxy_ipv4.o: changed function: nf_tproxy_laddr4 Patched objects: net\/ipv4\/netfilter\/nf_tproxy_ipv4.ko Building patch module: livepatch-netfilter-tproxy-fix.ko modprobe: FATAL: could not get modversions of \/root\/.kpatch\/tmp\/patch\/livepatch-netfilter-tproxy-fix.ko: Invalid argument SUCCESS<\/code><\/pre>\n<p>\u041e\u0448\u0438\u0431\u043a\u0438 modprobe \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c.\u00a0<\/p>\n<p>\u0427\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435?<\/p>\n<p><code>kpatch-build<\/code> \u0441\u043e\u0431\u0440\u0430\u043b \u044f\u0434\u0440\u043e \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0434\u0432\u0430\u0436\u0434\u044b: \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0430 <code>netfilter-tproxy-fix.patch<\/code> \u0438 \u0437\u0430\u0442\u0435\u043c \u0441 \u043f\u0430\u0442\u0447\u0435\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0431\u0440\u0430\u043b \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u0436\u0434\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043f\u0430\u043b\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e ELF-\u0441\u0435\u043a\u0446\u0438\u044e (\u043e\u043f\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u2014 <code>-ffunction-sections<\/code>). \u0422\u0430\u043a \u043f\u0440\u043e\u0449\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0432 \u044f\u0434\u0440\u0435 \u043d\u0430 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0442\u0447\u0430: \u043a\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b, \u043a\u0430\u043a\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0438 \u0442. \u043f. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (<code>-fdata-sections<\/code>).<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c kpatch-build \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0435 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u043e\u043c \u044f\u0434\u0440\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>nf_tproxy_laddr4<\/code> \u0438\u0437 <code>net\/ipv4\/netfilter\/nf_tproxy_ipv4.ko<\/code>. \u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"diff\"> Disassembly of section .text.nf_tproxy_laddr4:  ...  0000000000000010 &lt;nf_tproxy_laddr4&gt;:  \u00a0\u00a010: call \u00a0 15 &lt;__fentry__&gt;  \u00a0\u00a015: push \u00a0 %rbp  \u00a0\u00a016: mov%esi,%eax  \u00a0\u00a018: mov%rsp,%rbp    1b: test \u00a0 %esi,%esi +\u00a0\u00a01d: jne46 &lt;nf_tproxy_laddr4+0x36&gt;  \u00a0\u00a01f: mov0x10(%rdi),%rax  \u00a0\u00a023: mov0x3e0(%rax),%rax +\u00a0\u00a02a: test \u00a0 %rax,%rax  \/\/ if (!indev) ... +\u00a0\u00a02d: je 52 &lt;nf_tproxy_laddr4+0x42&gt;  \u00a0\u00a02f: mov0x10(%rax),%rax  \u00a0\u00a033: test \u00a0 %rax,%rax  ...<\/code><\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 kpatch-build \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0437 \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u0441\u0435\u0445 \u043d\u043e\u0432\u044b\u0445 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 runtime. \u0412\u0441\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u043e \u0432 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430, \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"https:\/\/github.com\/dynup\/kpatch\/blob\/master\/kmod\/patch\/livepatch-patch-hook.c\" rel=\"noopener noreferrer nofollow\">\u00ab\u043e\u0431\u0432\u044f\u0437\u043a\u0438\u00bb \u0434\u043b\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439<\/a>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0430\u0440\u044b\u0445 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041d\u043e \u0442\u0443\u0442 \u0432 \u0434\u0435\u0442\u0430\u043b\u0438 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f livepatch-\u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c: <code>livepatch-netfilter-tproxy-fix.ko<\/code>.\u00a0<\/p>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u043c: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043c\u043e\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430 \u0437\u0430\u043d\u044f\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u0432\u0430 \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u0447\u0430\u0441\u0430. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0434\u0435\u0442 \u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0443 \u044f\u0434\u0440\u0430 \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0430. \u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c build tree (<code>\/work\/livepatch\/linux-source-6.8.0<\/code>) \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u043a\u0430\u043a \u0434\u0435\u0440\u0435\u0432\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430, \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043d\u0443\u0442! \u0423\u0436\u0435 \u043b\u0443\u0447\u0448\u0435.\u00a0<\/p>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c <code>livepatch-netfilter-tproxy-fix.ko<\/code> \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435.<\/p>\n<blockquote>\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u0415\u0441\u043b\u0438 \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432 (\u043f\u0430\u0442\u0447\u0438 \u043e\u0442 Canonical, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f KernelCare \u0438 \u043f\u0440.), \u0438\u0445 \u043b\u0443\u0447\u0448\u0435 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438.<\/p>\n<\/blockquote>\n<p>\u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0431\u044b\u0432\u0430\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 <a href=\"https:\/\/github.com\/dynup\/kpatch\/blob\/master\/kpatch\/kpatch\" rel=\"noopener noreferrer nofollow\">kpatch<\/a>, \u043d\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u0431\u0435\u0437 \u043d\u0435\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435, \u043a\u0430\u043a \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# insmod .\/livepatch-netfilter-tproxy-fix.ko<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442\u043e \u0432 sysfs \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# ls -l \/sys\/kernel\/livepatch\/livepatch_netfilter_tproxy_fix\/ total 0 -rw-r--r-- 1 root root 4096 Jun \u00a03 19:56 enabled --w------- 1 root root 4096 Jun \u00a03 19:56 force drwxr-xr-x 3 root root  0 Jun \u00a03 19:56 nf_tproxy_ipv4 -r--r--r-- 1 root root 4096 Jun \u00a03 19:56 transition<\/code><\/pre>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e livepatch \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f. \u0421\u0442\u0430\u0442\u0443\u0441 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 enabled (1 \u2014 \u043f\u0430\u0442\u0447 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d, \u0432\u043a\u043b\u044e\u0447\u0435\u043d, 0 \u2014 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d):<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# cat \/sys\/kernel\/livepatch\/livepatch_netfilter_tproxy_fix\/enabled 1<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u044f\u0432\u043d\u043e:\u00a0<\/p>\n<pre><code>echo 1 &gt; \/sys\/kernel\/livepatch\/livepatch_netfilter_tproxy_fix\/enabled\u00a0<\/code><\/pre>\n<p>\u0412 dmesg \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0438 \u0447\u0442\u043e \u044f\u0434\u0440\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e <code>TAINT_LIVEPATCH<\/code>:<\/p>\n<pre><code>[10356.456901] livepatch_netfilter_tproxy_fix: loading out-of-tree module taints kernel. [10356.456927] livepatch_netfilter_tproxy_fix: tainting kernel with TAINT_LIVEPATCH [10356.456933] livepatch_netfilter_tproxy_fix: module verification failed: signature and\/or required key missing - tainting kernel [10356.458553] livepatch: enabling patch 'livepatch_netfilter_tproxy_fix' [10356.458841] livepatch: 'livepatch_netfilter_tproxy_fix': starting patching transition [10356.522778] livepatch: 'livepatch_netfilter_tproxy_fix': patching complete<\/code><\/pre>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430 <code>nf_tproxy_ipv4<\/code>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043c\u0435\u043d\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>nf_tproxy_laddr4()<\/code>, \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430, \u2014 \u043d\u0435\u0441\u0442\u0440\u0430\u0448\u043d\u043e. \u041a\u043e\u0433\u0434\u0430 <code>nf_tproxy_ipv4 <\/code>\u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f, Linux \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442 \u043a \u043d\u0435\u043c\u0443 \u0432\u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438. \u0412 dmesg \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0438\u0434\u0430:<\/p>\n<pre><code>livepatch: applying patch 'livepatch_netfilter_tproxy_fix' to loading module 'nf_tproxy_ipv4'\u00a0<\/code><\/pre>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443-reprodu\u0441er, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0430 \u043a \u043f\u0430\u0434\u0435\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# .\/repro<\/code><\/pre>\n<p>\u0412 dmesg \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432\u0438\u0434\u0430 \u00abnetlink: &#8216;repro&#8217;: attribute type 4 has an invalid length\u00bb, \u043d\u043e \u044f\u0434\u0440\u043e \u0443\u0436\u0435 \u043d\u0435 \u043f\u0430\u0434\u0430\u0435\u0442 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c! \u0422\u043e\u0442 \u0431\u0430\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043a \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0435\u0439 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u0435\u043d.<\/p>\n<p>\u041f\u0440\u0430\u0432\u0434\u0430, \u0435\u0441\u043b\u0438 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0430 \u0441\u043d\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u0430: \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043f\u0430\u0442\u0447\u0435\u043c \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <a href=\"https:\/\/github.com\/dynup\/kpatch\/blob\/master\/contrib\/kpatch.service\" rel=\"noopener noreferrer nofollow\">\u0442\u0430\u043a\u043e\u0433\u043e<\/a> \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c kpatch \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 git repo.<\/p>\n<p>\u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 runtime. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u044f\u0434\u0440\u043e \u0441\u043d\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e-\u0441\u0442\u0430\u0440\u043e\u043c\u0443, \u0431\u0435\u0437 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# echo 0 &gt; \/sys\/kernel\/livepatch\/livepatch_netfilter_tproxy_fix\/enabled   root@ubuntu-x64:\/var\/tmp# ls -l \/sys\/kernel\/livepatch\/ total 0   root@ubuntu-x64:\/var\/tmp# dmesg | tail ... [26216.555446] livepatch: 'livepatch_netfilter_tproxy_fix': starting unpatching transition [26216.647453] livepatch: 'livepatch_netfilter_tproxy_fix': unpatching complete<\/code><\/pre>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# rmmod livepatch_netfilter_tproxy_fix\u00a0<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c, \u043a\u0430\u043a \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430 Linux, \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<h3>\u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u00ab\u0430\u0442\u043e\u043c\u0430\u0440\u043d\u0430\u044f\u00bb \u0437\u0430\u043c\u0435\u043d\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439<\/h3>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430? \u0414\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c, \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0445 \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u043b\u0438 \u043a\u0430\u043a-\u0442\u043e \u0435\u0449\u0435 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c? \u0410 \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u0443 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0444\u0438\u043a\u0441\u043e\u0432 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0438\u0437 \u043d\u0438\u0445?<\/p>\n<p>\u00a0\u0415\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u043d\u043e \u0432 \u043c\u043e\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u0435\u0431\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 (cumulative) \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0418\u0445, \u043a\u0441\u0442\u0430\u0442\u0438, <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/cumulative-patches.html\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442<\/a> \u0438 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b livepatch-\u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u044f\u0434\u0440\u0435.<\/p>\n<p>\u0412 \u0442\u0430\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u0438\u043d source patch, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0437\u0430\u0442\u0435\u043c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c. \u042d\u0442\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0430\u0442\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u0435\u0440\u0441\u0438\u044e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/705\/b8a\/279\/705b8a279506e2be43d171306bb4617f.png\" width=\"793\" height=\"211\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/705\/b8a\/279\/705b8a279506e2be43d171306bb4617f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/705\/b8a\/279\/705b8a279506e2be43d171306bb4617f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u0442\u0435\u043c \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <code>CVE-2024-43888.patch <\/code>\u043d\u0430 <code>CVE-2024-43888-02.patch<\/code>, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0431\u0430\u0433\u0430 BUG-42001, \u0430 \u043f\u0430\u0442\u0447 \u0434\u043b\u044f BUG-12382 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u043c, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430\u0431\u043e\u0440\u0430 \u043f\u0430\u0442\u0447\u0435\u0439 \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/28b\/48d\/8b3\/28b48d8b3cf963dfa5b0c03ea74aed7f.png\" width=\"808\" height=\"211\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/28b\/48d\/8b3\/28b48d8b3cf963dfa5b0c03ea74aed7f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/28b\/48d\/8b3\/28b48d8b3cf963dfa5b0c03ea74aed7f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0441\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438, \u0447\u0442\u043e \u0431\u044b\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043e \u044d\u0442\u043e\u0433\u043e.<\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0431\u044b\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439. \u0417\u0430\u043c\u0435\u043d\u0438\u043c \u0435\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u0443\u044e.<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# ls -l \/sys\/kernel\/livepatch total 0 drwxr-xr-x 4 root root 0 Jun\u00a0 3 21:40 livepatch_v1   root@ubuntu-x64:\/var\/tmp# insmod livepatch-v2.ko root@ubuntu-x64:\/var\/tmp# ls -l \/sys\/kernel\/livepatch total 0 drwxr-xr-x 4 root root 0 Jun\u00a0 3 21:42 livepatch_v2   root@ubuntu-x64:\/var\/tmp# rmmod livepatch-p01<\/code><\/pre>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 5.1, \u044f\u0434\u0440\u043e Linux \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u00ab\u0430\u0442\u043e\u043c\u0430\u0440\u043d\u0443\u044e \u0437\u0430\u043c\u0435\u043d\u0443\u00bb \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 (atomic replacement). \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442?<\/p>\n<p>\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430:<\/p>\n<ul>\n<li>\n<p><code>livepatch_v2<\/code> \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d (\u0432\u043a\u043b\u044e\u0447\u0435\u043d) \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u2014 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 <code>v2<\/code>, \u043d\u043e \u043d\u0435 \u0438\u0437 <code>v1<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 <code>livepatch_v2 <\/code>\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0430 \u2014 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 <code>v1<\/code>, \u043d\u043e \u043d\u0435 <code>v2<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u00ab\u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u044c\u00bb: livepatch \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u2014 \u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u0438\u043b\u0438 \u043d\u0438\u043a\u0430\u043a. \u041d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0447\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437 <code>v1<\/code>, \u0430 \u0447\u0430\u0441\u0442\u044c \u2014 \u0438\u0437<code> v2<\/code>.<\/p>\n<p>\u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0438 \u0438\u0445 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430.<\/p>\n<p>Downgrade \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u0430 <code>v2<\/code> \u043d\u0430 <code>v1<\/code> \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e: \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c <code>livepatch-v1.ko<\/code>, \u0438 \u043e\u043d \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 <code>v2<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p>\u041f\u0440\u0430\u0432\u0434\u0430, \u0435\u0441\u043b\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/callbacks.html\" rel=\"noopener noreferrer nofollow\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 callback-\u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/a> \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438, \u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 atomic replacement. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043b\u0443\u0447\u0448\u0435 \u044f\u0432\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c <code>v2<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c <code>v1<\/code>:<\/p>\n<pre><code>root@ubuntu-x64:\/var\/tmp# echo 0 &gt; \/sys\/kernel\/livepatch\/livepatch_v2\/enabled root@ubuntu-x64:\/var\/tmp# rmmod livepatch_v2 root@ubuntu-x64:\/var\/tmp# insmod livepatch-v1.ko\u00a0<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u0435 callback-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c (v1 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435).\u00a0 \u0414\u043b\u044f v2 \u043e\u043d\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442. \u0415\u0441\u043b\u0438 \u044d\u0442\u0438 callback-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u043a\u0430\u0436\u0435\u043c, \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432 v2, \u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u043c\u0435\u043d\u0435 \u043d\u0430 v1 \u044d\u0442\u043e\u0433\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u2014 \u0431\u0443\u0434\u0435\u0442 \u0443\u0442\u0435\u0447\u043a\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/callbacks.html\" rel=\"noopener noreferrer nofollow\">\u0442\u0443\u0442<\/a>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u043b \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0446\u0438\u0438<code> -R (--non-replace)<\/code> \u0434\u043b\u044f kpatch-build. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u0435\u0441\u043b\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u0440.<\/p>\n<h4>\u041c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438 (consistency model)<\/h4>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0432 <code>nf_tproxy_ipv4.ko<\/code> \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, <code>nf_tproxy_laddr4()<\/code>, \u043d\u0430 \u0435\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u042d\u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e, \u043d\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0442\u0430\u043a \u0431\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0434\u043a\u043e: \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0438 \u043e\u0436\u0438\u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>\u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u00ab\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435. \u0412 \u043c\u043e\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0442\u0430\u043a\u043e\u043c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435, \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0434\u043e 300\u2013400. \u0417\u0430 \u0432\u0440\u0435\u043c\u044f, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0434\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0434\u0440\u0430, \u0434\u043b\u044f \u043d\u0435\u0435 \u0432 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u0445 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439.\u00a0<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u0445\u0430\u043e\u0441, \u043d\u0443\u0436\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0440\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0430\u0442\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f. \u041e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u0445 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u0430 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c.<\/p>\n<p>\u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>foo()<\/code>? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c call stack:<\/p>\n<pre><code>[&lt;ffffffff808926a8&gt;] __schedule+0x242\/0x5c2 [&lt;ffffffff80892a6e&gt;] schedule+0x46\/0xd2 [&lt;ffffffff808984c4&gt;] foo+0x80\/0x152 [my_driver] ... [&lt;ffffffff80035da4&gt;] kthread+0xbc\/0xce [&lt;ffffffff80003b64&gt;] ret_from_exception+0x0\/0x16<\/code><\/pre>\n<p>\u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f\u0434\u0440\u043e Linux \u0434\u043e\u043b\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c <s>\u0445\u043e\u0440\u043e\u0448\u0438\u0435, \u0433\u043e\u0434\u043d\u044b\u0435<\/s> \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0435 (reliable) stack traces \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u2014 \u0442\u0430\u043a\u0438\u0435, \u0433\u0434\u0435, \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/reliable-stacktrace.html\" rel=\"noopener noreferrer nofollow\">\u043d\u0438 \u043e\u0434\u0438\u043d stack frame \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d<\/a>. \u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u044d\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e.\u00a0<\/p>\n<p>\u0414\u043b\u044f x86 \u0442\u0430\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u044c, \u0434\u043b\u044f RISC-V \u2014 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430 6.15 \u2014 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442. \u0414\u043b\u044f ARM reliable stacktraces, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043a\u043e\u0440\u043e \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f, <a href=\"https:\/\/lore.kernel.org\/all\/20250320171559.3423224-1-song@kernel.org\/\" rel=\"noopener noreferrer nofollow\">c Sframe unwinder<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/marc.info\/?l=live-patching&amp;m=174782543731138&amp;w=4\" rel=\"noopener noreferrer nofollow\">\u0431\u0435\u0437 \u043d\u0435\u0433\u043e<\/a>.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0447\u0442\u043e \u043f\u0430\u0442\u0447\u0438\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 (\u0442\u043e\u0447\u043d\u0435\u0435, \u043a\u0430\u0436\u0434\u044b\u0439 task \/ thread, \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u044f\u0434\u0440\u0430 Linux) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043b\u0438\u0431\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043b\u0438\u0431\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0435, \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0435, \u043d\u043e \u043d\u0435 \u0441\u043c\u0435\u0441\u044c \u0442\u0435\u0445 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<p>\u0417\u0430 \u044d\u0442\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/livepatch.html#consistency-model\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438<\/a>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044f\u0434\u0440\u0430 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0434\u0440\u0430, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u044b\u0435, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f <a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/include\/linux\/sched.h?h=v6.12#n1532\" rel=\"noopener noreferrer nofollow\">patch_state \u0432 task_struct<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f reliable stack traces, \u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 stack traces \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043f\u044f\u0442. \u0415\u0441\u043b\u0438 \u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432 call trace \u043d\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c, \u0442\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f &#8212; \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u044f\u0434\u0440\u0430, \u0442\u043e\u0436\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 15 \u0441\u0435\u043a\u0443\u043d\u0434 \u0438\u043b\u0438 \u0434\u043e\u043b\u044c\u0448\u0435, livepatch-\u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0434\u0440\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u043c\u0443 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b.<\/p>\n<\/li>\n<li>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u044f\u0434\u0440\u0430 \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0442\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c? \u0422\u0443\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435. \u0412 \u043a\u043e\u0434\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 kernel threads \u0435\u0441\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u044b <code>klp_update_patch_state()<\/code>, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0430\u043a\u0438\u0435 kernel threads \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0435. \u041d\u043e \u0442\u0430\u043a\u043e\u0435 \u0435\u0441\u0442\u044c \u043d\u0435 \u0432\u0435\u0437\u0434\u0435, \u0442\u0430\u043a \u0447\u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u0430\u0442\u044c, \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u0433 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c. \u041d\u0435 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u043e\u0438\u0442.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0442\u0430\u043a, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435, \u043a\u0430\u043a \u0438\u0445 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041d\u043e \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u0447\u0442\u043e \u0443 \u043d\u0438\u0445 \u0432\u043d\u0443\u0442\u0440\u0438? \u041e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<blockquote>\n<p><strong>\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0442\u0435\u043a\u0441\u0442 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u0431\u043b\u043e\u0433 YADRO.<\/strong><\/p>\n<\/blockquote>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/928444\/\"> https:\/\/habr.com\/ru\/articles\/928444\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0411\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 Linux-\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0435\u0434\u0435\u043b\u044f\u043c\u0438 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0436\u0435\u043b\u0435\u0437\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0435\u0440\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u041f\u041e \u2014 \u044d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u043e, \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0434\u0435\u0448\u0435\u0432\u043e.<\/p>\n<p>\u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u044f\u0434\u0440\u0435 Linux?<\/p>\n<p>\u041e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0415\u0432\u0433\u0435\u043d\u0438\u0439, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/yadro.com\/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=livepatch1_article150725\" rel=\"noopener noreferrer nofollow\">YADRO<\/a>. \u0417\u0430\u0434\u0430\u0447\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u044f\u0434\u0440\u0430 Linux, \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0443\u0436\u0435 \u043e\u043a\u043e\u043b\u043e 15 \u043b\u0435\u0442.<\/p>\n<p>\u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 livepatching (\u0434\u0430\u043b\u0435\u0435 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u0443\u044e \u043a\u0430\u043b\u044c\u043a\u0443), \u043a\u0430\u043a \u0442\u0430\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0438 \u043a\u0430\u043a \u043e\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u0433 \u0432 \u044f\u0434\u0440\u0435 Ubuntu 22.04 Server.<\/p>\n<p>\u0423 \u0441\u0442\u0430\u0442\u044c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435. \u0422\u0430\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442 \u043e\u0434\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0437\u043d\u0430\u0435\u043c, \u043d\u0430 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435.<\/p>\n<p>\u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 x86 \u0438 RISC-V (\u0445\u043e\u0442\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0434\u043b\u044f ARM64, PowerPC, s390x).<\/p>\n<h3>\u041e\u0448\u0438\u0431\u043a\u0438, \u043e\u0448\u0438\u0431\u043a\u0438 \u043a\u0440\u0443\u0433\u043e\u043c  <\/h3>\n<p>\u041a\u0430\u043a \u0438 \u0432 \u043b\u044e\u0431\u043e\u043c \u041f\u041e, \u0432 \u044f\u0434\u0440\u0435 Linux \u0435\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438, \u0438 \u0438\u0445 \u0442\u0430\u043c \u043c\u043d\u043e\u0433\u043e. \u0411\u044b\u0432\u0430\u044e\u0442 \u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438: \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"https:\/\/lore.kernel.org\/linux-cve-announce\/\" rel=\"noopener noreferrer nofollow\">Linux CVE Announce<\/a> \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438 \u0441\u043e\u0442\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u044f\u0434\u0440\u0430 Linux, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0430\u0432\u0433\u0443\u0441\u0442 2024 \u0442\u0430\u043c \u0431\u044b\u043b\u043e \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u0431\u043e\u043b\u0435\u0435 200 (!) \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0441 CVSS \u043e\u0442 7.0 \u0438 \u0432\u044b\u0448\u0435.<\/p>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u00abTime is money\u00bb \u0434\u0430\u0432\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u0432 \u00abUptime is money\u00bb (uptime \u2014 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438). \u0422\u0430\u043a \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u044f\u0434\u0440\u0435 Linux, \u043d\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u044f \u043d\u0430\u0434\u043e\u043b\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<h3>\u00ab\u0422\u043e\u0447\u0435\u0447\u043d\u044b\u0435\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u044f\u0434\u0440\u043e Linux \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u043b\u0433\u043e \u0438 \u0434\u043e\u0440\u043e\u0433\u043e, \u0430 \u0432 \u044f\u0434\u0440\u0435 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430\u0434\u043e \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u00ab\u0442\u043e\u0447\u0435\u0447\u043d\u043e\u00bb: \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044f\u0434\u0440\u0430.\u00a0<\/p>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439: \u0442\u044b\u0441\u044f\u0447\u0438 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043e\u0442 stable-\u0432\u0435\u0440\u0441\u0438\u0438 v6.6.40 \u043a v6.6.70 \u0438\u043b\u0438 \u0435\u0449\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043a v6.12.30. \u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u0442\u0443\u0442, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u044f\u0434\u0440\u0430 Linux \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 \u044f\u0434\u0440\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u043c, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c.\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u0430\u043a\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\u00a0<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0434\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0432 \u044f\u0434\u0440\u0435 Linux \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0446\u0435\u043d\u043d\u044b\u043c\u0438.<\/p>\n<p>\u041b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438: RedHat, SUSE, Canonical, Oracle, Cloud Linux<em> <\/em>(TuxCare \/ KernelCare) \u0438 \u0434\u0440\u0443\u0433\u0438\u0435. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u2014 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438, \u0445\u043e\u0442\u044f \u0443 Canonical \u0435\u0441\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0430\u0448\u0438\u043d \u0441 Ubuntu.<\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b \u0438\u0437 \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0441\u0430\u043c\u0438 \u0440\u0435\u0448\u0430\u044e\u0442, \u043a\u0430\u043a\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RedHat \u0438 Canonical \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u0438\u0445 \u0440\u0430\u0437 \u0432 \u043c\u0435\u0441\u044f\u0446\u2013\u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0435\u0436\u0435.<\/p>\n<p>\u0410 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0435 \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Linux? \u0418\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e security-\u0431\u0430\u0433\u043e\u0432, \u043d\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432? \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0436\u0435 \u00ab\u043f\u043e\u0437\u0430\u0432\u0447\u0435\u0440\u0430\u00bb, \u0430 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f-\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e?<\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e!<\/p>\n<p>\u0415\u0441\u0442\u044c \u043c\u043d\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u0435\u0440\u0445\u043a\u0432\u0430\u043b\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e, \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u043f\u0440\u043e\u0434\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>\u0413\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u043e \u0438 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u0412\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421, \u043e\u043f\u044b\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439. \u041e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0435\u0434\u0435\u043b\u0435.<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u00ab\u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0445\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u044f\u0434\u0440\u0430 Linux, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e. \u041a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, &#8212; \u0441 2008 \u0433\u043e\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Ksplice, \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Oracle.<\/p>\n<p>\u0412 2013\u20132014 \u0433\u043e\u0434\u0430\u0445 RedHat \u0438 SUSE \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0441\u0432\u043e\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u2014 Kpatch \u0438 kGraft. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f Cloud Linux \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 KernelCare. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Kpatch \u0438 kGraft, KernelCare \u2014 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u0434 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0442\u0430\u043c \u0437\u0430\u043a\u0440\u044b\u0442.<\/p>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438\u0437 RedHat \u0438 SUSE \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/livepatch\/livepatch.html\" rel=\"noopener noreferrer nofollow\">\u0432 mainline-\u044f\u0434\u0440\u0435 Linux<\/a>. \u041e\u043d\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0438 \u0443\u0441\u0438\u043b\u0438\u044f, \u0438 \u0443\u0436\u0435 \u0432 2015 \u0433\u043e\u0434\u0443 \u043f\u0435\u0440\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ablivepatch\u00bb \u0432\u043e\u0448\u043b\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u044e 4.0 \u044f\u0434\u0440\u0430 Linux. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0437 mainline-\u044f\u0434\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0443\u043f\u0430\u043b\u0430 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Kpatch \u0438 kGraft: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439.<\/p>\n<p>\u041d\u043e \u0443\u0436\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430 5.1 (2019) \u0432 mainline \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432\u0441\u0435, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0432 Kpatch \u0438 kGraft, \u0438 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435. \u0422\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0432 \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438\u043d\u0433 \u0438\u0437 mainline-\u044f\u0434\u0440\u0430 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435.<\/p>\n<\/div>\n<\/details>\n<h3>\u041f\u0430\u0442\u0447\u0438\u043c \u0442\u043e, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e<\/h3>\n<p>\u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0432 2015 \u0433\u043e\u0434\u0443, \u0435\u0449\u0435 \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 YADRO. \u041f\u0435\u0440\u0435\u0434\u043e \u043c\u043d\u043e\u0439 \u0438 \u043c\u043e\u0438\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b\u0430 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041a\u043b\u0438\u0435\u043d\u0442\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0433\u0434\u0435 \u044f \u0442\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0435\u043e\u0445\u043e\u0442\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 Linux, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0437\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0434\u0435\u043d\u0435\u0433. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u044f\u0434\u0440\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 Linux \u0432\u044b\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0448\u0438\u0431\u043a\u0438: \u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0418 \u0434\u0430, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u0434\u0430 \u00ab\u043f\u0440\u043e\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c\u00bb \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e. \u0423\u0431\u0435\u0434\u0438\u0442\u044c \u043b\u044e\u0434\u0435\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 security-\u0434\u044b\u0440\u044b \u0431\u044b\u043b\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u043e. \u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u0433\u0434\u0435-\u0442\u043e \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u044f\u0434\u0440\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u043e \u043f\u0430\u0434\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u2014 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0441\u0430\u043c\u0438 \u043d\u0430\u0441 \u0442\u043e\u0440\u043e\u043f\u0438\u043b\u0438, \u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0437\u0430\u043f\u043b\u0430\u0442\u043a\u0443\u00bb \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u0435\u0435.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00ab\u043f\u0430\u0442\u0447\u0438\u043c \u0442\u043e, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u00bb. \u0417\u0430 6 \u043b\u0435\u0442, \u043f\u043e\u043a\u0430 \u044f \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0432 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0435\u0439, \u043b\u0438\u0448\u044c \u043e\u043a\u043e\u043b\u043e 30% \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0431\u0430\u0433\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 \u0431\u044b\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 70% \u2014 \u0432\u0430\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430\u0448\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432.<\/p>\n<blockquote>\n<p>\u041a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0432\u044b\u0431\u043e\u0440\u0443, \u0447\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438, \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d. \u041a\u0440\u0443\u043f\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0422\u0430\u043a \u0434\u0435\u043b\u0430\u044e\u0442 <a href=\"https:\/\/www.redhat.com\/en\/topics\/linux\/what-is-linux-kernel-live-patching\" rel=\"noopener noreferrer nofollow\">RedHat<\/a>, <a href=\"https:\/\/ubuntu.com\/security\/livepatch\" rel=\"noopener noreferrer nofollow\">Canonical<\/a>, <a href=\"https:\/\/ksplice.oracle.com\/\" rel=\"noopener noreferrer nofollow\">Oracle<\/a>, <a href=\"https:\/\/docs.tuxcare.com\/live-patching-services\/\" rel=\"noopener noreferrer nofollow\">Cloud Linux (TuxCare \/ KernelCare)<\/a>.\u00a0<\/p>\n<p>SUSE \u2014 \u043e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0445, \u043a\u0442\u043e <a href=\"https:\/\/documentation.suse.com\/smart\/systems-management\/html\/klp\/index.html\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442<\/a> \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f security-\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439.<\/p>\n<\/blockquote>\n<h3>Livepatch-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 Linux-\u0441\u0438\u0441\u0442\u0435\u043c\u044b) \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430 Linux, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:\u00a0<\/p>\n<ul>\n<li>\n<p>\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437 vmlinux \u0438\/\u0438\u043b\u0438 \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430,<\/p>\n<\/li>\n<li>\n<p>\u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u044f\u0434\u0440\u0430 Linux.\u00a0<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>insmod<\/code> \u0438\u043b\u0438 <code>modprobe<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0447\u0435\u0440\u0435\u0437 sysfs.\u00a0<\/p>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u0434 \u044f\u0434\u0440\u0430 Linux (\u0442\u043e\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c) \u0438 \u043d\u043e\u0432\u044b\u0439 (\u0442\u043e\u0442, \u0447\u0442\u043e \u0432 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u0435) <strong>\u0441\u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442<\/strong> \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u042d\u0442\u043e \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 runtime: \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 sysfs, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u0438\u0437 mainline-\u044f\u0434\u0440\u0430, \u0442\u043e \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0423 TuxCare \/ KernelCare \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c, \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u043c, \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043d\u043e \u043c\u044b \u0435\u0433\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 RISC-V, \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043f\u0430\u0442\u0447\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>stop_machine()<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 6.16 \u044f\u0434\u0440\u0430 Linux, \u0434\u043b\u044f RISC-V <code>stop_machine()<\/code> \u0443\u0436\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0413\u043e\u0442\u043e\u0432\u0438\u043c livepatch<\/h3>\n<p>\u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u0430\u043a \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0430\u0439\u0432\u043f\u0430\u0442\u0447 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u044f\u0434\u0440\u0435 6.8.0-41-generic \u0432 Ubuntu Server 24.04, x86-64.<\/p>\n<p>\u041b\u0443\u0447\u0448\u0435 \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u041e\u0421 \u0432 QEMU VM \u0438\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 ISO-\u043e\u0431\u0440\u0430\u0437\u044b Ubuntu Server 24.04.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044f\u0434\u0440\u0430, \u0442\u043e \u043f\u0430\u043a\u0435\u0442\u044b \u0441 6.8.0-41-generic \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>linux-image-6.8.0-41-generic <a href=\"https:\/\/archive.ubuntu.com\/ubuntu\/pool\/main\/l\/linux-signed\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>,<\/p>\n<\/li>\n<li>\n<p>linux-modules-6.8.0-41-generic <a href=\"https:\/\/archive.ubuntu.com\/ubuntu\/pool\/main\/l\/linux\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u042f\u0434\u0440\u043e 6.8.0-41-generic \u0434\u043b\u044f Ubuntu 24.04 \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043e \u0432 \u0430\u0432\u0433\u0443\u0441\u0442\u0435 2024. \u0412 \u044d\u0442\u043e\u043c \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c \u0431\u0430\u0433, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b <a href=\"https:\/\/syzkaller.appspot.com\/bug?extid=b94a6818504ea90d7661\" rel=\"noopener noreferrer nofollow\">Syzkaller<\/a> \u0432 \u043c\u0430\u0435 2024.<\/p>\n<p><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=21a673bddc8fd4873c370caf9ae70ffc6d47e8d3\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/a> \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u0430\u0433\u0430 \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 mainline-\u044f\u0434\u0440\u043e \u0432 \u0442\u043e\u043c \u0436\u0435 \u043c\u0435\u0441\u044f\u0446\u0435:\u00a0<\/p>\n<pre><code class=\"diff\">diff --git a\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c b\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c index 69e33179960430..73e66a088e25eb 100644 --- a\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c +++ b\/net\/ipv4\/netfilter\/nf_tproxy_ipv4.c @@ -58,6 +58,8 @@ __be32 nf_tproxy_laddr4(struct sk_buff *skb, __be32 user_laddr, be32 daddr)  \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 laddr = 0; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 indev = in_dev_get_rcu(skb-&gt;dev); + \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!indev) + \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return daddr;  \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 in_dev_for_each_ifa_rcu(ifa, indev) { \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (ifa-&gt;ifa_flags &amp; IFA_F_SECONDARY)<\/code><\/pre>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0435 Syzkaller \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c <a href=\"https:\/\/syzkaller.appspot.com\/text?tag=ReproC&amp;x=12526504980000\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C<\/a>, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0433\u043a\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a repro.c, \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a (<code>\"gcc -o repro repro.c\"<\/code>) \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 root. \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>\u0423 \u043c\u0435\u043d\u044f \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u0432 QEMU VM, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 repro \u043f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0430\u0434\u0430\u043b\u0430 \u0441 NULL pointer dereference \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>nf_tproxy_laddr4()<\/code> \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f <code>nf_tproxy_ipv4.ko<\/code>:<\/p>\n<pre><code>[ \u00a0 54.253461] BUG: kernel NULL pointer <\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-467281","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/467281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=467281"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/467281\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=467281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=467281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=467281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}