{"id":1305,"date":"2024-09-28T09:58:13","date_gmt":"2024-09-28T15:58:13","guid":{"rendered":"https:\/\/embeddedor.com\/blog\/?p=1305"},"modified":"2026-04-19T14:42:16","modified_gmt":"2026-04-19T20:42:16","slug":"one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues","status":"publish","type":"post","link":"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/","title":{"rendered":"ONE simple and rewarding way to contribute to the Linux Kernel: Fix Coverity issues"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-700x400.webp\" alt=\"\" class=\"wp-image-1535\" srcset=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-700x400.webp 700w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-300x171.webp 300w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-768x439.webp 768w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-1536x878.webp 1536w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose-800x457.webp 800w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/09\/DALL\u00b7E-2024-09-28-17.56.45-A-vibrant-and-dynamic-illustration-of-Tux-the-Linux-mascot-penguin-fixing-software-bugs.-Tux-should-be-portrayed-in-a-playful-problem-solving-pose.webp 1792w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_68 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Introduction\" title=\"Introduction\">Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Kernel_Newbies_and_Kernel_Janitors\" title=\"Kernel Newbies and Kernel Janitors\">Kernel Newbies and Kernel Janitors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Fixing_Coverity_issues\" title=\"Fixing Coverity issues\">Fixing Coverity issues<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Send_patches_gain_experience\" title=\"Send patches, gain experience\">Send patches, gain experience<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Bug_fixing_presentations\" title=\"Bug fixing presentations\">Bug fixing presentations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Learn_from_existing_contributions\" title=\"Learn from existing contributions\">Learn from existing contributions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/embeddedor.com\/blog\/2024\/09\/28\/one-simple-and-rewarding-way-to-contribute-to-the-linux-kernel-fix-coverity-issues\/#Try_in_staging_first\" title=\"Try in staging first\">Try in staging first<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Motivated by the series of events I describe below, I decided to write this short blog post about how fixing Coverity issues can open the door to your first meaningful contributions to the Linux kernel. I hope people find it both inspiring and useful. \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Kernel_Newbies_and_Kernel_Janitors\"><\/span>Kernel Newbies and Kernel Janitors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In October last year, I <a href=\"https:\/\/lore.kernel.org\/kernel-janitors\/9e0dc452-c4fe-4511-83fe-a1e356bd5438@embeddedor.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">replied<\/a> the following to an email sent to the <a href=\"https:\/\/lore.kernel.org\/kernel-janitors\/\" target=\"_blank\" rel=\"noreferrer noopener\">kernel-janitors<\/a> mailing list.<\/p>\n\n\n\n<pre id=\"b\" class=\"wp-block-preformatted\">&gt; Yesterday someone on my lists just sent an email looking for kernel<br>&gt; tasks.  This was a university student in a kernel programming class.<br>&gt; We also have kernel-janitors and outreachy and those people are always<br>&gt; asking for small tasks.<br><br>We have tons of issues waiting to be audited and fixed here:<br><br><a href=\"https:\/\/scan.coverity.com\/projects\/linux-next-weekly-scan\">https:\/\/scan.coverity.com\/projects\/linux-next-weekly-scan<\/a><br><br>You will never run out of fun. :) People just need to sign up.<br><br>That's really a great way to learn and gain experience across the whole<br>kernel tree.<br><br>--<br>Gustavo<\/pre>\n\n\n\n<p>At the time, my response didn&#8217;t gain much traction. However, early this month, I came across a familiar <a href=\"https:\/\/lore.kernel.org\/kernelnewbies\/0A063AD3-4059-449E-96D9-388745F4869F@163.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">message<\/a> on the <a href=\"https:\/\/lore.kernel.org\/kernelnewbies\/\" target=\"_blank\" rel=\"noreferrer noopener\">kernel newbies<\/a> mailing list asking for guidance on how to contribute to the Linux kernel.<\/p>\n\n\n\n<pre id=\"b\" class=\"wp-block-preformatted\">Hi all,<br><br>I am an embedded software engineer. I use Linux every day, and I appreciate its neatness and simplicity.<br><br>One day, I watched a video from Greg: <a href=\"https:\/\/youtu.be\/LLBrBBImJt4\">https:\/\/youtu.be\/LLBrBBImJt4<\/a>, and I started wondering if maybe I could contribute to the Linux kernel. So, I sent a very simple (and maybe stupid) patch to the community:<br><br>[...]<br><br>It turns out that the patch was rejected.<br><br>So, my question is: how can I start contributing to the Linux kernel? Maybe I could start by fixing some small bugs?<br><br>Thanks,<br>Qianqiang Liu<\/pre>\n\n\n\n<p>To which I <a href=\"https:\/\/lore.kernel.org\/kernelnewbies\/9c959f1e-3341-4a45-a434-7172d3feac10@embeddedor.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">replied<\/a>:<\/p>\n\n\n\n<pre id=\"b\" class=\"wp-block-preformatted\">Hi!<br><br>&gt; One day, I watched a video from Greg: <a href=\"https:\/\/youtu.be\/LLBrBBImJt4\">https:\/\/youtu.be\/LLBrBBImJt4<\/a>, and I started wondering if maybe I could contribute to the Linux kernel. <br><br><br>If you are interested in security, fixing Coverity issues is a great way to<br>contribute to the kernel. Here are some presentations that you might find<br>useful:<br><br><a href=\"https:\/\/embeddedor.com\/slides\/2017\/kr\/kr2017.pdf\">https:\/\/embeddedor.com\/slides\/2017\/kr\/kr2017.pdf<\/a><br><a href=\"https:\/\/embeddedor.com\/slides\/2018\/kr\/kr2018.pdf\">https:\/\/embeddedor.com\/slides\/2018\/kr\/kr2018.pdf<\/a><br><a href=\"https:\/\/embeddedor.com\/slides\/2019\/kr\/kr2019.pdf\">https:\/\/embeddedor.com\/slides\/2019\/kr\/kr2019.pdf<\/a><br><br>You can also watch these presentations on YouTube for additional context.<br><br>You can sign up here for linux-next scans:<br><a href=\"https:\/\/scan.coverity.com\/projects\/linux-next-weekly-scan\">https:\/\/scan.coverity.com\/projects\/linux-next-weekly-scan<\/a><br><br>and here for -rc scans:<br><a href=\"https:\/\/scan.coverity.com\/projects\/linux\">https:\/\/scan.coverity.com\/projects\/linux<\/a><br><br>I hope this helps.<br>--<br>Gustavo<\/pre>\n\n\n\n<p>Later that day, I received a couple of notifications informing me that someone was requesting access to the Linux kernel Coverity scans. I granted the access and forgot about it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fixing_Coverity_issues\"><\/span>Fixing Coverity issues<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Then, early last week, an <a href=\"https:\/\/lore.kernel.org\/kernelnewbies\/ZvIgarYcoKWlUS0g@mac.local\/\" target=\"_blank\" rel=\"noreferrer noopener\">email<\/a> from that same thread landed my inbox:<\/p>\n\n\n\n<pre id=\"b\" class=\"wp-block-preformatted\">Hi,<br><br>Thank you all for the good advice.<br>I have now successfully submitted some small changes to the kernel:<br><br><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9b4af913465cc5f903227237d833b4911430fd97\">https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=9b4af913465cc5f903227237d833b4911430fd97<\/a><br><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=590efcd3c75f0e1f7208cf1c8dff5452818b70f2\">https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=590efcd3c75f0e1f7208cf1c8dff5452818b70f2<\/a><br><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7fd551a87ba427fee2df8af4d83f4b7c220cc9dd\">https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7fd551a87ba427fee2df8af4d83f4b7c220cc9dd<\/a><br><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=93497752dfed196b41d2804503e80b9a04318adb\">https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=93497752dfed196b41d2804503e80b9a04318adb<\/a><br><br>Contributing to the Linux kernel is not that hard, all we need is<br>patience and persistence.<br><br>I definitely will do more work on the Linux kernel!<br><br>-- <br>Best,<br>Qianqiang Liu<\/pre>\n\n\n\n<p>I was so happy to discover that those patches looked quite similar to the ones I used to submit back in the day when I was trying to land my first Coverity fixes. Then in a subsequent <a href=\"https:\/\/lore.kernel.org\/kernelnewbies\/ZvJO40IYjlizNhXh@thinkpad\/\" target=\"_blank\" rel=\"noreferrer noopener\">email<\/a>, this was confirmed:<\/p>\n\n\n\n<pre id=\"b\" class=\"wp-block-preformatted\">Hi Malatesh,<br><br>&gt; Can you help me to contribute, what I needs to do ?<br><br>You can refer to this mail thread. The advice from Gustavo is pretty<br>useful.<br><br>Also, there is a document for submitting your first kernel patch:<br><a href=\"https:\/\/kernelnewbies.org\/FirstKernelPatch\">https:\/\/kernelnewbies.org\/FirstKernelPatch<\/a><br><br>-- <br>Best,<br>Qianqiang Liu<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Send_patches_gain_experience\"><\/span>Send patches, gain experience<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Even though, at the time I started working in the Linux kernel I already had solid experience in embedded systems, C programming, and had taken a Linux kernel development training, I was totally new to the Linux kernel community and all the nuances around upstream contributions in particular. As I was about to learn over the years, this is what is actually crucial for becoming a successful kernel contributor. However, gaining this experience takes time, and the only way to become an experienced contributor, as you might have guessed, is to send tons of patches.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Bug_fixing_presentations\"><\/span>Bug fixing presentations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>So, for those interested in landing their first kernel patches, one simple way to start gaining experience contributing to the Linux kernel is by fixing as many Coverity issues as possible. I promise you&#8217;ll learn a lot in the process. \ud83d\ude09 <\/p>\n\n\n\n<p>Check out the following presentations, where I dive deep into fixing Coverity issues and other problems in the Linux kernel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/embeddedor.com\/blog\/presentations\/#Fixing_coverity_bugs_all_around_the_Linux_kernel_KR\" target=\"_blank\" rel=\"noreferrer noopener\">Fixing coverity bugs all around the Linux kernel<\/a> (Kernel Recipes 2017)<\/li>\n\n\n\n<li><a href=\"https:\/\/embeddedor.com\/blog\/presentations\/#A_year_of_fixing_Coverity_issues_all_over_the_Linux_kernel_KR\" target=\"_blank\" rel=\"noreferrer noopener\">A year of fixing Coverity issues all over the Linux kernel<\/a> (Kernel Recipes 2018)<\/li>\n\n\n\n<li><a href=\"https:\/\/embeddedor.com\/blog\/presentations\/#Hunting_and_fixing_bugs_all_over_the_Linux_kernel_KR\" target=\"_blank\" rel=\"noreferrer noopener\">Hunting and fixing bugs all over the Linux kernel<\/a> (Kernel Recipes 2019)<\/li>\n<\/ul>\n\n\n\n<p>And of course, sign up for <a href=\"https:\/\/scan.coverity.com\/projects\/linux-next-weekly-scan\" target=\"_blank\" rel=\"noreferrer noopener\">linux-next<\/a> (despite being named &#8220;linux-next weekly scan&#8221;, these are actually daily scans) and <a href=\"https:\/\/scan.coverity.com\/projects\/linux\" target=\"_blank\" rel=\"noreferrer noopener\">-rc<\/a> Coverity scans. It&#8217;d be helpful if you could briefly mention this blog post in your request message when signing up, though it&#8217;s not required. Also, I encourage you to make sure you know <a href=\"https:\/\/kernelnewbies.org\/FirstKernelPatch\" target=\"_blank\" rel=\"noreferrer noopener\">how to submit a kernel patch<\/a>. \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Learn_from_existing_contributions\"><\/span>Learn from existing contributions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Back in the day, when I started fixing issues in the kernel, it was not uncommon for me to feel a bit lost from time to time. One of the best things you can do in those situations is to look at what others are currently working on in your areas of interest.<\/p>\n\n\n\n<p>In this case, one simple approach is to check the commits addressing Coverity issues that have recently landed in linux-next. The link below will take you to a list of all kernel patches in linux-next that contain the keyword <code>Coverity<\/code> in their changelog text.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/next\/linux-next.git\/log\/?qt=grep&amp;q=Coverity\">https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/next\/linux-next.git\/log\/?qt=grep&amp;q=Coverity<\/a><\/li>\n<\/ul>\n\n\n\n<p>I recommend studying them. If you don&#8217;t understand how people concluded that that was the right fix for the issue, take it a step further and look up the email thread that initiated the discussion and read it thoroughly to understand what is going on. This can be a great learning experience. \ud83d\ude09<\/p>\n\n\n\n<p>Below is a link to all the Linux kernel mailing lists, including of course <code> The Linux Kernel Mailing List or <a href=\"https:\/\/lore.kernel.org\/lkml\/\">LKML<\/a><\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/lore.kernel.org\">https:\/\/lore.kernel.org<\/a><\/li>\n<\/ul>\n\n\n\n<p>You can start by checking <a href=\"https:\/\/lore.kernel.org\/lkml\/\" target=\"_blank\" rel=\"noreferrer noopener\">LKML<\/a>. However, it&#8217;s not uncommon for developers to omit that list and send their patches only to the relevant subsystem mailing lists. So, if you don&#8217;t find the thread on LKML, look it up on the other lists. Depending on the driver the patch affects, it should be obvious which lists to check.<\/p>\n\n\n\n<p>Lastly, when you send a patch addressing Coverity issues, please briefly mention that in the changelog text. A simple <code>Reported by Coverity<\/code> is enough. This way, others can easily find your commits in the future and learn from your contributions as well. \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Try_in_staging_first\"><\/span>Try in staging first<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As a final piece of advice, I recommend starting by fixing issues in <code>drivers\/staging\/<\/code>. After landing several patches and gaining some experience from the feedback provided by the <code>staging<\/code> maintainers, you will feel more comfortable moving on to other areas of the kernel.<\/p>\n\n\n\n<p>Each subsystem and driver in the kernel is usually maintained by different groups of people, each with their own way of doing things and their own idiosyncrasies. Adapting to these different methods is one the most important pieces of experience you will gain as you continue submitting patches and paying attention to the feedback you receive along the way. Always remember: upstream Linux kernel development is highly social. \ud83d\ude09<\/p>\n\n\n\n<p>Enjoy!<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Introduction Motivated by the series of events I describe below, I decided to write this short blog post about how fixing Coverity issues can open the door to your first meaningful contributions to the Linux kernel. I hope people find it both inspiring and useful. \ud83d\ude42 Kernel Newbies and Kernel Janitors In October last year,&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":"[]"},"categories":[32,18,22,29],"tags":[],"class_list":["post-1305","post","type-post","status-publish","format-standard","hentry","category-coverity","category-linux-kernel-bugs","category-mentoring","category-presentations"],"_links":{"self":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/comments?post=1305"}],"version-history":[{"count":59,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1305\/revisions"}],"predecessor-version":[{"id":2086,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1305\/revisions\/2086"}],"wp:attachment":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/media?parent=1305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/categories?post=1305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/tags?post=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}