<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Memory Protection on Nalar</title>
    <link>https://nalar.dev/tags/memory-protection/</link>
    <description>Recent content in Memory Protection on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/memory-protection/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MADV_DONTDUMP Excludes Selected Memory Mappings from Linux Core Images</title>
      <link>https://nalar.dev/madv-dontdump-excludes-selected-memory-mappings-from-linux-core-images/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/madv-dontdump-excludes-selected-memory-mappings-from-linux-core-images/</guid>
      <description>&lt;p&gt;A long-running service may keep credentials, session material, or decrypted state in memory while still relying on core images for crash diagnosis. Disabling core generation for the entire process removes diagnostic state along with sensitive state. Linux provides a narrower control: &lt;code&gt;madvise()&lt;/code&gt; with &lt;code&gt;MADV_DONTDUMP&lt;/code&gt; marks selected mappings so the kernel omits them from a core image.&lt;/p&gt;&#xA;&lt;p&gt;This mechanism changes core-dump inclusion policy for an address range. It does not make the bytes inaccessible to the process, encrypt them, erase them, or create a general barrier against process inspection. Its security value is specific to one data-exposure path: memory captured through the kernel core-dump mechanism.&lt;/p&gt;</description>
    </item>
    <item>
      <title>process_vm_readv Crosses Process Memory Behind ptrace Access Checks</title>
      <link>https://nalar.dev/process-vm-readv-crosses-process-memory-behind-ptrace-access-checks/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/process-vm-readv-crosses-process-memory-behind-ptrace-access-checks/</guid>
      <description>&lt;p&gt;A diagnostic agent may need bytes from another process without stopping that process or attaching a traditional debugger. Linux &lt;code&gt;process_vm_readv()&lt;/code&gt; provides that data path: the caller supplies local buffers and address ranges in a target process, and the kernel transfers bytes between the two address spaces.&lt;/p&gt;&#xA;&lt;p&gt;The interface is powerful because the target does not explicitly send the data. Its security boundary therefore sits outside the target&amp;rsquo;s application protocol. Linux gates the operation with a ptrace access-mode check, while the memory transfer itself remains subject to the target&amp;rsquo;s changing virtual-memory layout.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
