{"id":7627,"date":"2025-07-04T16:22:04","date_gmt":"2025-07-04T16:22:04","guid":{"rendered":"http:\/\/localhost\/?p=7627"},"modified":"2025-07-04T16:22:04","modified_gmt":"2025-07-04T16:22:04","slug":"loongarch-only-call-gettimerirq-once-in-constantclockeventinit","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=7627","title":{"rendered":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init()"},"content":{"rendered":"<div style=\"font-family: Arial, sans-serif; max-width: 1200px; margin: 0 auto;\">\n<h2 style=\"color: #333; border-bottom: 2px solid #666666; padding-bottom: 10px;\">CVE Details<\/h2>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 20px;\">\n<div style=\"padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);\">\n<h3 style=\"margin-top: 0; \">Basic Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Title<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">LoongArch: Only call get_timer_irq() once in constant_clockevent_init()<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Type<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">cve<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Published<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">2025-05-02T15:55:20.477Z<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Modified<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">2025-05-08T15:38:15.225Z<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div style=\"padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);\">\n<h3 style=\"margin-top: 0; \">Product Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Vendor<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">Linux<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Product<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">Linux<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Version<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">fa96b57c149061f71a70bd6582d995f6424fbbf4<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<\/div>\n<div style=\"padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0; \">CVSS Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Base Score<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd; color: #666666; font-weight: bold;\">0.0 ()<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div style=\"padding: 15px; border-radius: 5px; margin-bottom: 20px;\">\n<h4 style=\"margin-top: 0; \">Affected Products<\/h4>\n<ul style=\"margin: 0; padding-left: 20px;\">\n<li>Linux Linux fa96b57c149061f71a70bd6582d995f6424fbbf4<\/li>\n<li>Linux Linux fa96b57c149061f71a70bd6582d995f6424fbbf4<\/li>\n<li>Linux Linux fa96b57c149061f71a70bd6582d995f6424fbbf4<\/li>\n<li>Linux Linux 5.19<\/li>\n<\/ul>\n<\/div>\n<div style=\"padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0; \">Additional Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border-bottom: 1px solid #ddd;\">Source<\/th>\n<td style=\"padding: 8px; border-bottom: 1px solid #ddd;\">Linux<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div style=\"padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0; \">Description<\/h3>\n<div style=\"padding: 15px; border-left: 4px solid #4CAF50; \">In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>LoongArch: Only call get_timer_irq() once in constant_clockevent_init()<\/p>\n<p>Under CONFIG_DEBUG_ATOMIC_SLEEP=y and CONFIG_DEBUG_PREEMPT=y, we can see<br \/>the following messages on LoongArch, this is because using might_sleep()<br \/>in preemption disable context.<\/p>\n<p>[    0.001127] smp: Bringing up secondary CPUs &#8230;<br \/>[    0.001222] Booting CPU#1&#8230;<br \/>[    0.001244] 64-bit Loongson Processor probed (LA464 Core)<br \/>[    0.001247] CPU1 revision is: 0014c012 (Loongson-64bit)<br \/>[    0.001250] FPU1 revision is: 00000000<br \/>[    0.001252] BUG: sleeping function called from invalid context at kernel\/locking\/mutex.c:283<br \/>[    0.001255] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper\/1<br \/>[    0.001257] preempt_count: 1, expected: 0<br \/>[    0.001258] RCU nest depth: 0, expected: 0<br \/>[    0.001259] Preemption disabled at:<br \/>[    0.001261] [<9000000000223800>] arch_dup_task_struct+0x20\/0x110<br \/>[    0.001272] CPU: 1 PID: 0 Comm: swapper\/1 Not tainted 6.2.0-rc7+ #43<br \/>[    0.001275] Hardware name: Loongson Loongson-3A5000-7A1000-1w-A2101\/Loongson-LS3A5000-7A1000-1w-A2101, BIOS vUDK2018-LoongArch-V4.0.05132-beta10 12\/13\/202<br \/>[    0.001277] Stack : 0072617764726148 0000000000000000 9000000000222f1c 90000001001e0000<br \/>[    0.001286]         90000001001e3be0 90000001001e3be8 0000000000000000 0000000000000000<br \/>[    0.001292]         90000001001e3be8 0000000000000040 90000001001e3cb8 90000001001e3a50<br \/>[    0.001297]         9000000001642000 90000001001e3be8 be694d10ce4139dd 9000000100174500<br \/>[    0.001303]         0000000000000001 0000000000000001 00000000ffffe0a2 0000000000000020<br \/>[    0.001309]         000000000000002f 9000000001354116 00000000056b0000 ffffffffffffffff<br \/>[    0.001314]         0000000000000000 0000000000000000 90000000014f6e90 9000000001642000<br \/>[    0.001320]         900000000022b69c 0000000000000001 0000000000000000 9000000001736a90<br \/>[    0.001325]         9000000100038000 0000000000000000 9000000000222f34 0000000000000000<br \/>[    0.001331]         00000000000000b0 0000000000000004 0000000000000000 0000000000070000<br \/>[    0.001337]         &#8230;<br \/>[    0.001339] Call Trace:<br \/>[    0.001342] [<9000000000222f34>] show_stack+0x5c\/0x180<br \/>[    0.001346] [<90000000010bdd80>] dump_stack_lvl+0x60\/0x88<br \/>[    0.001352] [<9000000000266418>] __might_resched+0x180\/0x1cc<br \/>[    0.001356] [<90000000010c742c>] mutex_lock+0x20\/0x64<br \/>[    0.001359] [<90000000002a8ccc>] irq_find_matching_fwspec+0x48\/0x124<br \/>[    0.001364] [<90000000002259c4>] constant_clockevent_init+0x68\/0x204<br \/>[    0.001368] [<900000000022acf4>] start_secondary+0x40\/0xa8<br \/>[    0.001371] [<90000000010c0124>] smpboot_entry+0x60\/0x64<\/p>\n<p>Here are the complete call chains:<\/p>\n<p>smpboot_entry()<br \/>  start_secondary()<br \/>    constant_clockevent_init()<br \/>      get_timer_irq()<br \/>        irq_find_matching_fwnode()<br \/>          irq_find_matching_fwspec()<br \/>            mutex_lock()<br \/>              might_sleep()<br \/>                __might_sleep()<br \/>                  __might_resched()<\/p>\n<p>In order to avoid the above issue, we should break the call chains,<br \/>using timer_irq_installed variable as check condition to only call<br \/>get_timer_irq() once in constant_clockevent_init() is a simple and<br \/>proper way.<\/div>\n<\/div>\n<div style=\"padding: 15px; border-radius: 5px; margin-bottom: 20px;\">\n<h4 style=\"margin-top: 0; \">References<\/h4>\n<ul style=\"margin: 0; padding-left: 20px;\">\n<li><a href=\"https:\/\/git.kernel.org\/stable\/c\/b9c379e1d7e141b102f41858c9b8f6f36e7c89a4\" target=\"_blank\">https:\/\/git.kernel.org\/stable\/c\/b9c379e1d7e141b102f41858c9b8f6f36e7c89a4<\/a><\/li>\n<li><a href=\"https:\/\/git.kernel.org\/stable\/c\/acadbd058fa12b510fbecca11eae22bd6f654250\" target=\"_blank\">https:\/\/git.kernel.org\/stable\/c\/acadbd058fa12b510fbecca11eae22bd6f654250<\/a><\/li>\n<li><a href=\"https:\/\/git.kernel.org\/stable\/c\/bb7a78e343468873bf00b2b181fcfd3c02d8cb56\" target=\"_blank\">https:\/\/git.kernel.org\/stable\/c\/bb7a78e343468873bf00b2b181fcfd3c02d8cb56<\/a><\/li>\n<\/ul>\n<\/div>\n<div style=\"text-align: center; margin-top: 30px;\">\n<a href=\"\" target=\"_blank\" style=\"display: inline-block; background-color: #4CAF50; color: white; padding: 12px 24px; text-decoration: none; border-radius: 4px; font-weight: bold; transition: background-color 0.3s;\">View Full CVE Details<\/a>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>CVE Details Basic Information Title LoongArch: Only call get_timer_irq() once in constant_clockevent_init() Type cve Published 2025-05-02T15:55:20.477Z Modified 2025-05-08T15:38:15.225Z Product Information Vendor Linux Product Linux Version&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[6,8,12,13,7,11,5],"class_list":["post-7627","post","type-post","status-publish","format-standard","hentry","category-category_cve","tag-cve","tag-cvss","tag-exploit","tag-news","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=7627\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem\" \/>\n<meta property=\"og:description\" content=\"CVE Details Basic Information Title LoongArch: Only call get_timer_irq() once in constant_clockevent_init() Type cve Published 2025-05-02T15:55:20.477Z Modified 2025-05-08T15:38:15.225Z Product Information Vendor Linux Product Linux Version...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=7627\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-04T16:22:04+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"LoongArch: Only call get_timer_irq() once in constant_clockevent_init()\",\"datePublished\":\"2025-07-04T16:22:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627\"},\"wordCount\":429,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_cve\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=7627#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627\",\"name\":\"LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-07-04T16:22:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=7627\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=7627#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LoongArch: Only call get_timer_irq() once in constant_clockevent_init()\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=7627","og_locale":"en_US","og_type":"article","og_title":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem","og_description":"CVE Details Basic Information Title LoongArch: Only call get_timer_irq() once in constant_clockevent_init() Type cve Published 2025-05-02T15:55:20.477Z Modified 2025-05-08T15:38:15.225Z Product Information Vendor Linux Product Linux Version...","og_url":"https:\/\/zero.redgem.net\/?p=7627","og_site_name":"zero redgem","article_published_time":"2025-07-04T16:22:04+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=7627#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=7627"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init()","datePublished":"2025-07-04T16:22:04+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=7627"},"wordCount":429,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","Security","tapic","Vulnerability"],"articleSection":["category_cve"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=7627#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=7627","url":"https:\/\/zero.redgem.net\/?p=7627","name":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init() - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-07-04T16:22:04+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=7627#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=7627"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=7627#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"LoongArch: Only call get_timer_irq() once in constant_clockevent_init()"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/7627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7627"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/7627\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}