<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pigfoot's weblog &#187; OpenBSD</title>
	<atom:link href="http://weblog.pigfoot.org/pigfoot/category/it/unix/openbsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.pigfoot.org/pigfoot</link>
	<description>We should forget about small efficiencies -- Donald Knuth</description>
	<lastBuildDate>Fri, 30 Jul 2010 02:51:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>OpenBSD 3.8 will Improved Memory Allocation</title>
		<link>http://weblog.pigfoot.org/pigfoot/2005/09/01/openbsd-38-will-improved-memory-allocation/</link>
		<comments>http://weblog.pigfoot.org/pigfoot/2005/09/01/openbsd-38-will-improved-memory-allocation/#comments</comments>
		<pubDate>Thu, 01 Sep 2005 12:27:29 +0000</pubDate>
		<dc:creator>pigfoot</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://weblog.pigfoot.org/pigfoot/2005/09/01/openbsd-improved-memory-allocation-beta-testing-38/</guid>
		<description><![CDATA[OpenBSD: Improved Memory Allocation, Beta Testing 3.8, from KernelTrap. OpenBSD creator Theo de Raadt described a number of modifications to how OpenBSD allocates memory: mmap system call return a random memory address, as well ensuring &#8220;that two objects are not mapped next to each other; in effect, this creates unallocated memory which we call a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kerneltrap.org/node/5584">OpenBSD: Improved Memory Allocation</a>, Beta Testing 3.8, from <a href="http://kerneltrap.org/">KernelTrap</a>.</p>
<p><a href="http://www.openbsd.org/">OpenBSD</a> creator Theo de Raadt described a number of modifications to how OpenBSD allocates memory:</p>
<ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mmap&#038;apropos=0&#038;sektion=0&#038;manpath=OpenBSD+Current&#038;arch=i386&#038;format=html">mmap</a> system call return a random memory address, as well ensuring &#8220;that two objects are not mapped next to each other; in effect, this creates unallocated memory which we call a &#8216;guard page&#8217;&#8221;</li>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=malloc&#038;apropos=0&#038;sektion=0&#038;manpath=OpenBSD+Current&#038;arch=i386&#038;format=html">malloc</a> function was updated to use mmap to obtain memory</li>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=free&#038;apropos=0&#038;sektion=0&#038;manpath=OpenBSD+Current&#038;arch=i386&#038;format=html">free</a> function was updated to immediately return memory to the kernel and un-allocate it from the calling process</li>
</ul>
<p>Theo points out that these changes have a couple of significant impacts. He explains that for over a decade efforts have been made to find and fix <em>buffer overflows</em>, and more recently bugs have been found in which software is <em>reading before the start of a buffer</em>, or <em>beyond the end of the buffer</em>. With these recent memory allocation changes, such an attempt will cause the application to coredump with a SIGSEGV signal.</p>
<p>Additionally, now that memory is unmapped as soon as it is freed, any attempt to access freed memory will also cause the application to coredump with a SIGSEGV signal.</p>
<img src="http://weblog.pigfoot.org/pigfoot/?ak_action=api_record_view&id=116&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://weblog.pigfoot.org/pigfoot/2005/09/01/openbsd-38-will-improved-memory-allocation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
