<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skinsbursky</id>
	<title>CRIU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skinsbursky"/>
	<link rel="alternate" type="text/html" href="https://criu.org/Special:Contributions/Skinsbursky"/>
	<updated>2026-05-13T14:45:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.6</generator>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2959</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2959"/>
		<updated>2016-06-30T13:23:43Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
But CRIU reconstructs AutoFS mount point on restore with different device ID and root inode number.&lt;br /&gt;
This leads to some limitations in migrating of Autofs.&lt;br /&gt;
&lt;br /&gt;
The root of these limitations is that AutoFS master (process, serving AutoFS requests from kernel side) can save AutoFS mount point device ID (and root inode number) in its internals and then compare saved value(s) with received ones on each kernel request. If these values do not match, it can ignore the request.&lt;br /&gt;
In user world it means that any access to such an AutoFS mount point will stuck.&lt;br /&gt;
&lt;br /&gt;
Known Autofs masters:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;: AutoFS-based services&lt;br /&gt;
&lt;br /&gt;
::Systemd saves AutoFS mount point device ID in its internals.&lt;br /&gt;
::Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;automount&amp;lt;/code&amp;gt;: Direct (offset) mounts &lt;br /&gt;
&lt;br /&gt;
::Automount saves AutoFS mount point device ID and root inode number for direct (offset) monuts in its internals.&lt;br /&gt;
::Killing automount with SIGKILL and restarting it solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; limitation, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
It can be used like this:&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script /usr/libexec/criu/scripts/systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
Currently, it only restarts one service, &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. Surely, it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
The logic of the script is the following:&lt;br /&gt;
&lt;br /&gt;
# Mount aside the file system, located on top of autofs (if any)&lt;br /&gt;
# Restart systemd service&lt;br /&gt;
# Unmount new file system, appeared on top of restarted autofs (if any)&lt;br /&gt;
# Move original file system on top of autofs mount point&lt;br /&gt;
&lt;br /&gt;
Please, note, that the sequence above works only for direct (offset) autofs mount points, when autofs mount point is being overmounted by the desired one.&lt;br /&gt;
In case of indirect autofs mount point the content (any mounted file system) will be lost.&lt;br /&gt;
&lt;br /&gt;
== Tricks vs Mount namespaces without propagation ==&lt;br /&gt;
&lt;br /&gt;
There is a problem with systemd service restart in case of nested mount namespaces without propagation from parent (with private mounts).&lt;br /&gt;
&lt;br /&gt;
Nested mount namespace can have mount point with the same superblock, as the original mount point in parent mount namespace. &lt;br /&gt;
&lt;br /&gt;
But after service restart it won't be like this anymore: mount point in master namespace will be changed, but not propagated to nested mount namespace. Moreover, mount point in nested mount namespace will become catatonic.&lt;br /&gt;
&lt;br /&gt;
Thus, in case ot nested mount namespaces with disabled propagation one have to choose either:&lt;br /&gt;
# Do not run the script, but keep all the mounts structure as it was (and broken systemd autofs services),&lt;br /&gt;
# or use the script, but the price is catatonic autofs mounts in nested mount namespaces without propagation.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2958</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2958"/>
		<updated>2016-06-30T13:23:24Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
But CRIU reconstructs AutoFS mount point on restore with different device ID and root inode number.&lt;br /&gt;
This leads to some limitations in migrating of Autofs.&lt;br /&gt;
&lt;br /&gt;
The root of these limitations is that AutoFS master (process, serving AutoFS requests from kernel side) can save AutoFS mount point device ID (and root inode number) in its internals and then compare saved value(s) with received ones on each kernel request. If these values do not match, it can ignore the request.&lt;br /&gt;
In user world it means that any access to such an AutoFS mount point will stuck.&lt;br /&gt;
&lt;br /&gt;
Known Autofs masters:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;: AutoFS-based services&lt;br /&gt;
&lt;br /&gt;
::Systemd saves AutoFS mount point device ID in its internals.&lt;br /&gt;
::Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;automount&amp;lt;/code&amp;gt;: Direct (offset) mounts &lt;br /&gt;
&lt;br /&gt;
::Automount saves AutoFS mount point device ID and root inode number for direct (offset) monuts in its internals.&lt;br /&gt;
::Killing automount with SIGKILL and restarting it solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome systemd's limitation, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
It can be used like this:&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script /usr/libexec/criu/scripts/systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
Currently, it only restarts one service, &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. Surely, it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
The logic of the script is the following:&lt;br /&gt;
&lt;br /&gt;
# Mount aside the file system, located on top of autofs (if any)&lt;br /&gt;
# Restart systemd service&lt;br /&gt;
# Unmount new file system, appeared on top of restarted autofs (if any)&lt;br /&gt;
# Move original file system on top of autofs mount point&lt;br /&gt;
&lt;br /&gt;
Please, note, that the sequence above works only for direct (offset) autofs mount points, when autofs mount point is being overmounted by the desired one.&lt;br /&gt;
In case of indirect autofs mount point the content (any mounted file system) will be lost.&lt;br /&gt;
&lt;br /&gt;
== Tricks vs Mount namespaces without propagation ==&lt;br /&gt;
&lt;br /&gt;
There is a problem with systemd service restart in case of nested mount namespaces without propagation from parent (with private mounts).&lt;br /&gt;
&lt;br /&gt;
Nested mount namespace can have mount point with the same superblock, as the original mount point in parent mount namespace. &lt;br /&gt;
&lt;br /&gt;
But after service restart it won't be like this anymore: mount point in master namespace will be changed, but not propagated to nested mount namespace. Moreover, mount point in nested mount namespace will become catatonic.&lt;br /&gt;
&lt;br /&gt;
Thus, in case ot nested mount namespaces with disabled propagation one have to choose either:&lt;br /&gt;
# Do not run the script, but keep all the mounts structure as it was (and broken systemd autofs services),&lt;br /&gt;
# or use the script, but the price is catatonic autofs mounts in nested mount namespaces without propagation.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2957</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2957"/>
		<updated>2016-06-30T13:22:27Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
But CRIU reconstructs AutoFS mount point on restore with different device ID and root inode number.&lt;br /&gt;
This leads to some limitations in migrating of Autofs.&lt;br /&gt;
&lt;br /&gt;
The root of these limitations is that AutoFS master (process, serving AutoFS requests from kernel side) can save AutoFS mount point device ID (and root inode number) in its internals and then compare saved value(s) with received ones on each kernel request. If these values do not match, it can ignore the request.&lt;br /&gt;
In user world it means that any access to such an AutoFS mount point will stuck.&lt;br /&gt;
&lt;br /&gt;
Known Autofs masters:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;: AutoFS-based services&lt;br /&gt;
&lt;br /&gt;
::Systemd saves AutoFS mount point device ID in its internals.&lt;br /&gt;
::Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;automount&amp;lt;/code&amp;gt;: Direct (offset) mounts &lt;br /&gt;
&lt;br /&gt;
::Automount saves AutoFS mount point device ID and root inode number for direct (offset) monuts in its internals.&lt;br /&gt;
::Killing automount with SIGKILL and restarting it solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the above limitation, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
It can be used like this:&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script /usr/libexec/criu/scripts/systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
Currently, it only restarts one service, &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. Surely, it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
The logic of the script is the following:&lt;br /&gt;
&lt;br /&gt;
# Mount aside the file system, located on top of autofs (if any)&lt;br /&gt;
# Restart systemd service&lt;br /&gt;
# Unmount new file system, appeared on top of restarted autofs (if any)&lt;br /&gt;
# Move original file system on top of autofs mount point&lt;br /&gt;
&lt;br /&gt;
Please, note, that the sequence above works only for direct (offset) autofs mount points, when autofs mount point is being overmounted by the desired one.&lt;br /&gt;
In case of indirect autofs mount point the content (any mounted file system) will be lost.&lt;br /&gt;
&lt;br /&gt;
== Tricks vs Mount namespaces without propagation ==&lt;br /&gt;
&lt;br /&gt;
There is a problem with systemd service restart in case of nested mount namespaces without propagation from parent (with private mounts).&lt;br /&gt;
&lt;br /&gt;
Nested mount namespace can have mount point with the same superblock, as the original mount point in parent mount namespace. &lt;br /&gt;
&lt;br /&gt;
But after service restart it won't be like this anymore: mount point in master namespace will be changed, but not propagated to nested mount namespace. Moreover, mount point in nested mount namespace will become catatonic.&lt;br /&gt;
&lt;br /&gt;
Thus, in case ot nested mount namespaces with disabled propagation one have to choose either:&lt;br /&gt;
# Do not run the script, but keep all the mounts structure as it was (and broken systemd autofs services),&lt;br /&gt;
# or use the script, but the price is catatonic autofs mounts in nested mount namespaces without propagation.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2915</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2915"/>
		<updated>2016-05-10T11:36:48Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
However, there is a limitation in migrating of systemd services using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The root of the limitation is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each AutoFS-related request from kernel side, and if they do not match, it ignores the request.&lt;br /&gt;
&lt;br /&gt;
CRIU reconstructs AutoFS mount point on restore with different device ID, thus systemd doesn't recognize it anymore.&lt;br /&gt;
&lt;br /&gt;
In user world it means that any access to AutoFS mount point served by systemd will stuck. Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the above limitation, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
It can be used like this:&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script /usr/libexec/criu/scripts/systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
Currently, it only restarts one service, &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. Surely, it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
The logic of the script is the following:&lt;br /&gt;
&lt;br /&gt;
# Mount aside the file system, located on top of autofs (if any)&lt;br /&gt;
# Restart systemd service&lt;br /&gt;
# Unmount new file system, appeared on top of restarted autofs (if any)&lt;br /&gt;
# Move original file system on top of autofs mount point&lt;br /&gt;
&lt;br /&gt;
Please, note, that the sequence above works only for direct (offset) autofs mount points, when autofs mount point is being overmounted by the desired one.&lt;br /&gt;
In case of indirect autofs mount point the content (any mounted file system) will be lost.&lt;br /&gt;
&lt;br /&gt;
== Tricks vs Mount namespaces without propagation ==&lt;br /&gt;
&lt;br /&gt;
There is a problem with systemd service restart in case of nested mount namespaces without propagation from parent (with private mounts).&lt;br /&gt;
&lt;br /&gt;
Nested mount namespace can have mount point with the same superblock, as the original mount point in parent mount namespace. &lt;br /&gt;
&lt;br /&gt;
But after service restart it won't be like this anymore: mount point in master namespace will be changed, but not propagated to nested mount namespace. Moreover, mount point in nested mount namespace will become catatonic.&lt;br /&gt;
&lt;br /&gt;
Thus, in case ot nested mount namespaces with disabled propagation one have to choose either:&lt;br /&gt;
# Do not run the script, but keep all the mounts structure as it was (and broken systemd autofs services),&lt;br /&gt;
# or use the script, but the price is catatonic autofs mounts in nested mount namespaces without propagation.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2902</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2902"/>
		<updated>2016-04-22T15:58:43Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
Howewer, there is a limitation in migrating of systemd services, using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The root of the limitation is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each AutoFS-related request from kernel side, and if they do not match - ignores the request.&lt;br /&gt;
&lt;br /&gt;
CRIU reconstructs AutoFS mount point on restore with different device ID, thus systemd doesn't recognize it anymore.&lt;br /&gt;
&lt;br /&gt;
In user world it means, that any access to AutoFS mount point, served by systemd, will hung. Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the limitation above, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
Can be used something like below&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script /usr/libexec/criu/scripts/systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
It restarts only one service so far: &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. But it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2901</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2901"/>
		<updated>2016-04-22T15:07:05Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
Howewer, there is a limitation in migrating of systemd services, using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The root of the limitation is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each AutoFS-related request from kernel side, and if they do not match - ignores the request.&lt;br /&gt;
&lt;br /&gt;
CRIU reconstructs AutoFS mount point on restore with different device ID, thus systemd doesn't recognize it anymore.&lt;br /&gt;
&lt;br /&gt;
In user world it means, that any access to AutoFS mount point, served by systemd, will hung. Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the limitation above, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.&lt;br /&gt;
&lt;br /&gt;
Can be used something like below&lt;br /&gt;
&lt;br /&gt;
 criu restore ... --action-script systemd-autofs-restart.sh&lt;br /&gt;
&lt;br /&gt;
It restarts only one service so far: &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. But it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2900</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2900"/>
		<updated>2016-04-22T14:59:16Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
Howewer, there is a limitation in migrating of systemd services, using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The root of the limitation is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each AutoFS-related request from kernel side, and if they do not match - ignores the request.&lt;br /&gt;
&lt;br /&gt;
CRIU reconstructs AutoFS mount point on restore with different device ID, thus systemd doesn't recognize it anymore.&lt;br /&gt;
&lt;br /&gt;
In user world it means, that any access to AutoFS mount point, served by systemd, will hung. Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the limitation above, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.  &lt;br /&gt;
&lt;br /&gt;
It restarts only one service so far: &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. But it can be easily extended to support any other.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2899</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2899"/>
		<updated>2016-04-22T14:58:59Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
AutoFS migration is supported by CRIU starting from version ...&lt;br /&gt;
&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
Howewer, there is a limitation in migrating of systemd services, using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The root of the limitation is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each AutoFS-related request from kernel side, and if they do not match - ignores the request.&lt;br /&gt;
&lt;br /&gt;
CRIU reconstructs AutoFS mount point on restore with different device ID, thus systemd doesn't recognize it anymore.&lt;br /&gt;
&lt;br /&gt;
In user world it means, that any access to AutoFS mount point, served by systemd, will hung. Restart of the service solves this issue.&lt;br /&gt;
&lt;br /&gt;
== Tricks ==&lt;br /&gt;
&lt;br /&gt;
To overcome the limitation above, &amp;lt;code&amp;gt;systemd-autofs-restart.sh&amp;lt;/code&amp;gt; action script was introduced. It can be found in &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt; directory in CRIU sources.&lt;br /&gt;
&lt;br /&gt;
This script is aimed to be used with CRIU option &amp;lt;code&amp;gt;--action-script&amp;lt;/code&amp;gt; on restore to fix the issue for those systemd services, which can be painlessly restarted.  &lt;br /&gt;
&lt;br /&gt;
It restarts only one service so far: &amp;lt;code&amp;gt;proc-sys-fs-binfmt_misc.automount&amp;lt;/code&amp;gt;. But it can be easily to support any other.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=AutoFS&amp;diff=2898</id>
		<title>AutoFS</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=AutoFS&amp;diff=2898"/>
		<updated>2016-04-22T14:45:37Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have AutoFS mount inside the container, you need to know some tricks.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Autofs migration is supported by criu starting from version ...&lt;br /&gt;
Another requirement is linux kernel with version 4.6 or higher.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
CRIU supports both direct (offset) and indirect AutoFS mount points migration.&lt;br /&gt;
&lt;br /&gt;
Howewer, there is a limitation in migrating of systemd services, using AutoFS.&lt;br /&gt;
&lt;br /&gt;
The problem is that systemd saves AutoFS mount point device ID in its internals and compares saved value with current one on each autofs-related request from kernel side.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2893</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2893"/>
		<updated>2016-04-19T11:31:03Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Merged patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://lkml.org/lkml/2016/4/18/498 lkml v5] || x86/vdso: add mremap hook to vm_special_mapping || 1/3 in Ingo's tip-branch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bab189918}} || bpf, seccomp: prepare for upcoming criu support || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f8e529ed9}} || seccomp, ptrace: add support for dumping seccomp filters || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c83aa55d0}} || autofs: show pipe inode in mount options || 4.6-rc4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2892</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2892"/>
		<updated>2016-04-19T11:30:43Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Merged patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://lkml.org/lkml/2016/4/18/498 lkml v5] || x86/vdso: add mremap hook to vm_special_mapping || 1/3 in Ingo's tip-branch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bab189918}} || bpf, seccomp: prepare for upcoming criu support || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f8e529ed9}} || seccomp, ptrace: add support for dumping seccomp filters || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c83aa55d0b}} || autofs: show pipe inode in mount options || 4.6-rc4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2891</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2891"/>
		<updated>2016-04-19T11:29:42Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Pending patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://lkml.org/lkml/2016/4/18/498 lkml v5] || x86/vdso: add mremap hook to vm_special_mapping || 1/3 in Ingo's tip-branch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c83aa55d0b}} || autofs: show pipe inode in mount options || 4.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bab189918}} || bpf, seccomp: prepare for upcoming criu support || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f8e529ed9}} || seccomp, ptrace: add support for dumping seccomp filters || 4.4-rc1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2890</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2890"/>
		<updated>2016-04-19T11:29:24Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Merged patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[http://ozlabs.org/~akpm/mmots/broken-out/autofs-show-pipe-inode-in-mount-options.patch mm tree] || autofs: show pipe inode in mount options || In maintainer's tree&lt;br /&gt;
|-&lt;br /&gt;
|[https://lkml.org/lkml/2016/4/18/498 lkml v5] || x86/vdso: add mremap hook to vm_special_mapping || 1/3 in Ingo's tip-branch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c83aa55d0b}} || autofs: show pipe inode in mount options || 4.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bab189918}} || bpf, seccomp: prepare for upcoming criu support || 4.4-rc1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f8e529ed9}} || seccomp, ptrace: add support for dumping seccomp filters || 4.4-rc1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2716</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2716"/>
		<updated>2016-02-04T11:12:51Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Pending patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=bab18991871545dfbd10c931eb0fe8f7637156a9 linux-next: &amp;lt;code&amp;gt;bab189918&amp;lt;/code&amp;gt;] ||bpf, seccomp: prepare for upcoming criu support|| In maintainer's tree&lt;br /&gt;
|-&lt;br /&gt;
|[https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=f8e529ed941ba2bbcbf310b575d968159ce7e895 net-next: &amp;lt;code&amp;gt;f8e529ed9&amp;lt;/code&amp;gt;] ||seccomp, ptrace: add support for dumping seccomp filters|| In maintainer's tree&lt;br /&gt;
|-&lt;br /&gt;
|[http://ozlabs.org/~akpm/mmots/broken-out/autofs-show-pipe-inode-in-mount-options.patch mm tree] || autofs: show pipe inode in mount options || In maintainer's tree&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2711</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=2711"/>
		<updated>2016-01-19T16:05:45Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Pending patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
  NOTE: to figure out which kernel version a commit was included into, please use&lt;br /&gt;
  git describe --contains COMMITID&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pending patches ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 013655] || tcp: allow to repair a tcp connections in closing states || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/avagin/linux-task-diag/commits/task-diag-v3-devel v3-devel], [https://lkml.org/lkml/2015/7/6/142 v2], [http://lwn.net/Articles/633622/ v1] || kernel: add a netlink interface to get information about processes || ?&lt;br /&gt;
|-&lt;br /&gt;
|[https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=bab18991871545dfbd10c931eb0fe8f7637156a9 linux-next: &amp;lt;code&amp;gt;bab189918&amp;lt;/code&amp;gt;] ||bpf, seccomp: prepare for upcoming criu support|| In maintainer's tree&lt;br /&gt;
|-&lt;br /&gt;
|[https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=f8e529ed941ba2bbcbf310b575d968159ce7e895 net-next: &amp;lt;code&amp;gt;f8e529ed9&amp;lt;/code&amp;gt;] ||seccomp, ptrace: add support for dumping seccomp filters|| In maintainer's tree&lt;br /&gt;
|-&lt;br /&gt;
|[http://lists.openvz.org/pipermail/criu/2014-April/013655.html 024748] || autofs: show pipe inode in mount options || ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Merged patches ==&lt;br /&gt;
&lt;br /&gt;
This table lists CRIU-related kernel commits already merged to vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Commit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Kernel version&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7773fbc541}} || procfs: make proc_get_link to use dentry instead of inode || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|640708a2cff}} || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|067bce1a06}} || c/r: introduce CHECKPOINT_RESTORE symbol || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|028ee4be34}} || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b3f7f573a2}} || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b8f566b04d}} || sysctl: add the kernel.ns_last_pid control || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c9da99e647}} || unix_diag: Fixup RQLEN extension report || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|885ee74d5d}} || af_unix: Move CINQ/COUTQ code to helpers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|257b529876}} || unix_diag: Add the MEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|c0636faa53}} || inet_diag: Add the SKMEMINFO extension || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d2e5f274f}} || sock_diag: Introduce the meminfo nla core (v2) || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|288461e154}} || unix_diag: Include unix_diag.h into header-y target || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e6fe2371bd}} || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e09e9d189b}} || unix: If we happen to find peer NULL when diag dumping, write zero. || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3b0723c12e}} || unix_diag: Fix incoming connections nla length  || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2ea744a583}} || net: unix -- Add missing module.h inclusion || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d531aaa64}} || unix_diag: Write it into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|cbf391958a}} || unix_diag: Receive queue lenght NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|2aac7a2cb0}} || unix_diag: Pending connections IDs NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|ac02be8d96}} || unix_diag: Unix peer inode NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5f7b056946}} || unix_diag: Unix inode info NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f5248b48a6}} || unix_diag: Unix socket name NLA || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|5d3cae8bc3}} || unix_diag: Dumping exact socket core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|45a96b9be6}} || unix_diag: Dumping all sockets core || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|22931d3b90}} || unix_diag: Basic module skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fa7ff56f75}} || af_unix: Export stuff required for diag module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f65c1b534b}} || sock_diag: Generalize requests cookies managements || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|aec8dc62f6}} || sock_diag: Fix module netlink aliases || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|e7c466e58e}} || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|86e62ad6b2}} || udp_diag: Fix the !ipv6 case || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b872a2371f}} || udp_diag: Make it module when ipv6 is a module || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|507dd7961e}} || udp_diag: Wire the udp_diag module into kbuild || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b6d640c228}} || udp_diag: Implement the dump-all functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a925aa00a5}} || udp_diag: Implement the get_exact dumping functionality || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|52b7c59bc3}} || udp_diag: Basic skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fce823381e}} || udp: Export code sk lookup routines || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|1942c518ca}} || inet_diag: Generalize inet_diag dump and get_exact calls || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|3c4d05c805}} || inet_diag: Introduce the inet socket dumping routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d07d1518a}} || inet_diag: Introduce the byte-code run on an inet socket || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|efb3cb428d}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|476f7dbff3}} || inet_diag: Split inet_diag_get_exact into parts || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|b005ab4ef8}} || inet_diag: Export inet diag cookie checking routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|87c22ea52e}} || inet_diag: Reduce the number of args for bytecode run routine || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|7b35eadd7e}} || inet_diag: Remove indirect sizeof from inet diag handlers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8ef874bfc7}} || sock_diag: Move the sock_ code to net/core/ || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|a029fe26b6}} || inet_diag: Cleanup type2proto last user || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d23deaa07b}} || inet_diag: Introduce socket family checks || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|25c4cd2b6d}} || inet_diag: Switch the _dump to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|fe50ce2846}} || inet_diag: Switch the _get_exact to work with new header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|126fdc3249}} || inet_diag: Introduce new inet_diag_req header || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|d366477a52}} || sock_diag: Initial skeleton || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|f13c95f0e2}} || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|37f352b5e3}} || inet_diag: Move byte-code finding up the call-stack || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{net-next.git|8d34172dfd}} || sock_diag: Introduce new message type || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|818411616b}} || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5b172087f9}} || c/r: procfs: add arg_start/end, env_start/end and exit_code members || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fe8c7f5cbf}} || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d97b46a646}} || syscalls, x86: Add __NR_kcmp syscall || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b32dfe3771}} || c/r: prctl: Add ability to set new mm_struct::exe_file || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|79f0713d40}} || prctl: Use CAP_SYS_RESOURCE for PR_SET_MM option || 3.3&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|300f786b26}} || prctl: add ability to get clear_tid_address || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4934b0329f}} || datagram: Factor out sk queue referencing || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f518bf745}} || datagram: Add offset argument to __skb_recv_datagram || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|da5ef6e51b}} || skb: Add skb_peek_next helper || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ef64a54f6e}} || sock: Introduce the SO_PEEK_OFF sock option || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f55bb7f9cb}} || unix: Support peeking offset for datagram and seqpacket sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fc0d753641}} || unix: Support peeking offset for stream sockets || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1d151c337d}} || fcntl: Add F_GETOWNER_UIDS option v3 || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|370816aef0}} || tcp: Move code around || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee9952831c}} || tcp: Initial repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c0e88ff0f2}} || tcp: Repair socket queues || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5e6a3ce657}} || tcp: Report mss_clamp with TCP_MAXSEG option in repair mode || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b139ba4e90}} || tcp: Repair connection-time negotiated parameters || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|de248a75c3}} || tcp repair: Fix unaligned access when repairing options (v2) || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|736f24d5e5}} || c/r: prctl: Drop VMA flags test on PR_SET_MM_ stack data assignment || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5702c5eeab}} || c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16fbdce62d}} || proc: report file/anon bit in /proc/pid/pagemap || 3.4&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bca1554373}} || proc/smaps: show amount of nonlinear ptes in vma || 3.5&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b14f243a42}} || net: Dont use ifindices in hash fns || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c7dafbfab}} || net: Allow to create links with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6f8f1a739}} || veth: Allow to create peer link with given ifindex || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|aa79e66eee}} || net: Make ifindex generation per-net namespace || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1fb9489bf1}} || net: Loopback ifindex is constant now || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|faf60af17f}} || procfs: Move /proc/pid/fd[info] handling code to fd.[ch] || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ddd3e0771b}} || procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|55985dd72a}} || procfs: Add ability to plug in auxiliary fdinfo providers || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cbac5542d4}} || fs, eventfd: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|138d22b586}} || fs, epoll: Add procfs fdinfo helper v2 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|711c7bf991}} || fs, exportfs: Add export_encode_inode_fh helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|be77196b80}} || fs, notify: Add procfs fdinfo helper || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e6dbcafb74}} || fs, fanotify: Add @mflags field to fanotify output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2787b04b6c}} || packet: Introduce net/packet/internal.h header || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|96ec632714}} || packet: Diag core and basic socket info dumping || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8a360be0c5}} || packet: Report more packet sk info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eea68e2f1a}} || packet: Report socket mclist info via diag module || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|16f01365fa}} || packet: Report rings cfg via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fff3321d75}} || packet: Report fanout status via diag engine || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0fa7fa98db}} || packet: Protect packet sk list with mutex (v2) || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|579035dc5d}} || kernel: limit a value of ns_last_pid to (0, max_pid) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|bc26ccd8fc}} || tcp: restore rcv_wscale in a repair mode (v2) || 3.6&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f7b86bfe8d}} || sockopt: Make SO_BINDTODEVICE readable || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4e541a848}} || sock-diag: Report shutdown for inet and unix sockets (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|834f82e2aa}} || procfs: add VmFlags field in smaps output || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|06026d911c}} || tty: pty - Move TIOCPKT handling into pty.c || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c6298038bc}} || tty, ioctls -- Add new ioctl definitions for tty flags fetching || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84fd7bdf12}} || tty: Add get- ioctls to fetch tty status v3 || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a8fc927780}} || sk-filter: Add ability to get socket filter program (v2) || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|cacb6ba0f3}} || net: inet_diag -- Return error code if protocol handler is missed || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c454e6111d}} || tcp-repair: Handle zero-length data put in rcv queue || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ec34232575}} || tcp: fix retransmission in repair mode || 3.7&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b9164771e}} || ipv6: adapt connect for repair move || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c91f6df2db}} || sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3fcfe78658}} || ipc: add more comments to message copying related code || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|51eeacaa07}} || ipc: simplify message copying || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b30efe2775}} || ipc: convert prepare_copy() from macro to function || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|85398aa8de}} || ipc: simplify free_copy() call || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3a665531a3}} || selftests: IPC message queue copy feature test || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4a674f34ba}} || ipc: introduce message queue copy feature || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f9dd87f473}} || ipc: message queue receive cleanup || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|03f5956680}} || ipc: add sysctl to specify desired next object id || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9afdacda02}} || ipc: remove forced assignment of selected message || 3.8&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3f7d1fe108}} || arm: Wire up kcmp syscall || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|1e142b29e2}} || kcmp: make it depend on CHECKPOINT_RESTORE || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ceaa1fef65}} || tcp: adding a per-socket timestamp offset || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|93be6ce0e9}} || tcp: set and get per-socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ee684b6f28}} || tcp: send packets with a socket timestamp || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|66dd34ad}} || signal: allow to send any siginfo to itself || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|ae5fc987}} || net: fix *_DIAG_MAX constants || 3.9&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f29c768}} || net: prepare netlink code for netlink diag || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|eaaa3139}} || netlink: Diag core and basic socket info dumping (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|84c751bd}} || ptrace: add ability to retrieve signals without removing from a queue (v4) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|040fa020}} || clear_refs: Sanitize accepted commands declaration || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9de7eb}} || clear_refs: Introduce private struct for mm_walk || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|2b0a9f01}} || pagemap-introduce-pagemap_entry_t-without-pmshift-bits || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0f8975ec}} || mm: soft-dirty bits for user memory changes tracking || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|541c237c}} || pagemap: prepare to reuse constant bits with page-shift || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|57b8015e}} || posix-timers: Show sigevent info in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|48f6a7a5}} || posix-timers: Introduce /proc/PID/timers file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5ed67f05}} || posix timers: Allocate timer id per process (v2) || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|15ef0298}} || posix-timers: Show clock ID in proc file || 3.10&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|29000cae}} || ptrace: add ability to get/set signal-blocked mask (v2) || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|274038f8}} || tun: Report &amp;quot;persist&amp;quot; flag to userspace || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|179ef71c}} || mm: Save soft-dirty bits on swapped pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|41bb3476}} || mm: Save soft-dirty bits on file pages || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|76975e9c}} || tun: Get skfilter layout || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|849c9b6f}} || tun: Allow to skip filter on attach || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|3d407a80}} || tun: Report whether the queue is attached or not || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|fb7589a1}} || tun: Add ability to create tun device with given index || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e3e12028}} || tcp: don't apply tsoffset if rcv_tsecr is zero || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c7781a6e}} || tcp: initialize rcv_tstamp for restored sockets || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|7ed5c5ae}} || tcp: set timestamps for restored skb-s || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6dec97dc}} || mm: move_ptes -- Set soft dirty bit depending on pte type || 3.11&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c3d16e16}} || mm: migration -- Do not loose soft dirty bit if page is in migration state || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e9cdd6e7}} || mm: pagemap -- Inspect _PAGE_SOFT_DIRTY only on present pages || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|dbde4979}} || tcp: don't update snd_nxt, when a socket is switched from repair mode || 3.13&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|d9104d1c}} || mm: track vma changes with VM_SOFTDIRTY bit || 3.12&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|34228d47}} || mm: Ignore VM_SOFTDIRTY on VMA merging || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|24f91eba1}} || mm: don't lose the SOFT_DIRTY flag on mprotect || 3.14, 3.13-stable&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|49d063cb3}} || proc: show mnt_id in /proc/pid/fdinfo || 3.15&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|0bf073315}} || mm: Make freshly remapped file pages being softdirty unconditionally || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9aed8614a}} || mm: Don't forget to set softdirty on file mapped fault || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|b43790eed}} || mm: Don't forget to save file map softdiry bit on unmap || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|c86c97ff4}} || mm: Clear VM_SOFTDIRTY flag inside clear_refs_write instead of clear_soft_dirty || 3.16&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|af9c4957c}} || timerfd: Implement show_fdinfo method || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|854d06d9f}} || docs: Procfs -- Document timerfd output || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|5442e9fbd}} || timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3 || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|64e455079}} || mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9c5990240}} || mm: introduce check_data_rlimit helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|8764b338b}} || mm: use may_adjust_brk helper || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|71fe97e18}} || prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f606b77f1}} || prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation || 3.18&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|a3816ab0e}} || fs: Convert show_fdinfo functions to void || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9183df25f}} || shm: add memfd_create() syscall || 3.17&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|e4a0d3e72}} || aio: Make it possible to remap aio ring || 3.19&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|6c8c90319}} || proc: show locks in /proc/pid/fdinfo/X || 4.1&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|155e35d4d}} || VFS: Introduce inode-getting helpers for layered/unioned fs environments || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|df1a085af}} || VFS: Add a fallthrough flag for marking virtual dentries || 4.0&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|f25801ee4}} || overlay: Call ovl_drop_write() earlier in ovl_dentry_open() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|4bacc9c92}} || overlayfs: Make f_path always point to the overlay and f_inode to the underlay || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|9391dd00d}} || fix a braino in ovl_d_select_inode() || 4.2-rc2&lt;br /&gt;
|-&lt;br /&gt;
|{{torvalds.git|13c4a9011}} || seccomp: add ptrace options for suspend/resume || 4.3-rc1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Main_Page&amp;diff=342</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Main_Page&amp;diff=342"/>
		<updated>2012-07-27T08:13:32Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Download box}}&lt;br /&gt;
Welcome to CRIU, a project to implement checkpoint/restore functionality for Linux in userspace.&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
&lt;br /&gt;
* [http://download.openvz.org/criu/crtools-0.1.tar.bz2 crtools-0.1.tar.bz2] 23 Jul 2012 (sha1 aa1a9af42f4132e00701555a00ee3884cbe0c36b)&lt;br /&gt;
&lt;br /&gt;
== Using ==&lt;br /&gt;
&lt;br /&gt;
;[[CR_tools | CR tools]]&lt;br /&gt;
: Main checkpoint/restore utility description (sort of HOWTO)&lt;br /&gt;
&lt;br /&gt;
;[[Usage scenarios]]&lt;br /&gt;
: Ideas how crtools can be used (some are crazy indeed)&lt;br /&gt;
&lt;br /&gt;
;[[What software is supported]]&lt;br /&gt;
: Describes TODO list in higher level terms&lt;br /&gt;
&lt;br /&gt;
== Developing ==&lt;br /&gt;
&lt;br /&gt;
If you're interested in CRIU development, subscribe to the criu mailing list: https://openvz.org/mailman/listinfo/criu&lt;br /&gt;
&lt;br /&gt;
;[[Images]]&lt;br /&gt;
: Description of image files format&lt;br /&gt;
&lt;br /&gt;
;[[Commits | Commits]]&lt;br /&gt;
: Mainline kernel commits tracker&lt;br /&gt;
&lt;br /&gt;
;[[ZDTM_Test_Suite | ZDTM]]&lt;br /&gt;
: Zero downtime test suite&lt;br /&gt;
&lt;br /&gt;
;[[Todo | TODO]]&lt;br /&gt;
: Current TODO list&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
{{:Articles}}&lt;br /&gt;
&lt;br /&gt;
== Under the hood ==&lt;br /&gt;
&lt;br /&gt;
Articles about how things are done in crtools&lt;br /&gt;
&lt;br /&gt;
* [[Sockets]]&lt;br /&gt;
* [[Memory dumping and restoring]]&lt;br /&gt;
* [[Checkpoint/Restore]]&lt;br /&gt;
* [[TCP connection]]&lt;br /&gt;
* [[Porting crtools to new kernel releases]]&lt;br /&gt;
* [[Files]]&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Installation&amp;diff=289</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Installation&amp;diff=289"/>
		<updated>2012-07-17T12:56:29Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What CRtools is ==&lt;br /&gt;
&lt;br /&gt;
'''CRtools''' is an utility to checkpoint/restore process tree. Unlike checkpoint/restore implemented completely in kernel space,&lt;br /&gt;
it tries to achieve the same target operating in user space. Since the tools and overall concept are still under heavy development&lt;br /&gt;
stage there are some known limitations applied&lt;br /&gt;
&lt;br /&gt;
# Only pure x86-64 environment is supported, no IA32 emulation allowed.&lt;br /&gt;
# There is no way to use cgroups freezer facility yet.&lt;br /&gt;
# No IPC checkpoint/restore supported, and network is under hard development stage.&lt;br /&gt;
&lt;br /&gt;
== Download crtools ==&lt;br /&gt;
&lt;br /&gt;
The '''crtools''' utility itself is hosted at [http://git.criu.org/?p=crtools.git;a=summary git.criu.org].&lt;br /&gt;
Clone this repo to test new functionality. Anything but '''master''' branch are development&lt;br /&gt;
ones, don't refer on them.&lt;br /&gt;
&lt;br /&gt;
Also '''crtools''' requires some additional patches to be applied on the linux kernel.&lt;br /&gt;
&lt;br /&gt;
So clone [https://github.com/cyrillos/linux-2.6 linux-2.6-crtools.git], checkout ''crtools-3.5-rc7'' branch and compile the kernel.&lt;br /&gt;
&lt;br /&gt;
== Configure the linux kernel ==&lt;br /&gt;
&lt;br /&gt;
Make sure you have the following options turned on&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Checkpoint/restore support (&amp;lt;code&amp;gt;CONFIG_CHECKPOINT_RESTORE&amp;lt;/code&amp;gt;)&lt;br /&gt;
* General setup -&amp;gt; open by fhandle syscalls (&amp;lt;code&amp;gt;CONFIG_FHANDLE&amp;lt;/code&amp;gt;)&lt;br /&gt;
* General setup -&amp;gt; Enable eventfd() system call (&amp;lt;code&amp;gt;CONFIG_EVENTFD&amp;lt;/code&amp;gt;)&lt;br /&gt;
* General setup -&amp;gt; Enable eventpoll support (&amp;lt;code&amp;gt;CONFIG_EPOLL&amp;lt;/code&amp;gt;)&lt;br /&gt;
* File systems -&amp;gt; Inotify support for userspace (&amp;lt;code&amp;gt;CONFIG_INOTIFY_USER&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Networking support -&amp;gt; Networking options -&amp;gt; Unix domain sockets -&amp;gt; UNIX: socket monitoring interface (&amp;lt;code&amp;gt;CONFIG_UNIX_DIAG&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Networking support -&amp;gt; Networking options -&amp;gt; TCP/IP networking -&amp;gt; INET: socket monitoring interface (&amp;lt;code&amp;gt;CONFIG_INET_DIAG&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Note you might have to enable&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Configure standard kernel features (expert users) (&amp;lt;code&amp;gt;CONFIG_EXPERT&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
option, which depends on&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Embedded system (&amp;lt;code&amp;gt;CONFIG_EMBEDDED&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
(welcome to Kconfig reverse chains hell).&lt;br /&gt;
&lt;br /&gt;
== Using CR tools ==&lt;br /&gt;
Please see [[running CR tools]] article.&lt;br /&gt;
&lt;br /&gt;
== CR tools mailing list ==&lt;br /&gt;
&lt;br /&gt;
If you're interested in CR tools development don't hesitate to subscribe to the CRtools mailing list which can be found here&lt;br /&gt;
[https://openvz.org/mailman/listinfo/criu].&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=190</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=190"/>
		<updated>2012-02-28T11:04:43Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@/skinsbursky@ || sent-for-review ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - || Done, but not yet merged upstream&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|-&lt;br /&gt;
| crtools/zdtm || sigactions zdtm test || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools ||  tsk-&amp;gt;clear_child_tid || avagin@ || - || pthread_join uses it&lt;br /&gt;
|-&lt;br /&gt;
| crtools || pipe data should be aligned to page size || avagin@ || - || otherwise splice of 0x10000 bytes will be blocked&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || support inotify c/r || gorcunov@ || - || a lot of SW uses inotify, need to dump and restore the watchers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=ZDTM_test_suite&amp;diff=189</id>
		<title>ZDTM test suite</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=ZDTM_test_suite&amp;diff=189"/>
		<updated>2012-02-28T10:54:00Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Static&lt;br /&gt;
|-&lt;br /&gt;
|busyloop00||+&lt;br /&gt;
|-&lt;br /&gt;
|cwd00||+&lt;br /&gt;
|-&lt;br /&gt;
|deleted_dev||&lt;br /&gt;
|-&lt;br /&gt;
|deleted_unix_sock||&lt;br /&gt;
|-&lt;br /&gt;
|env00||+&lt;br /&gt;
|-&lt;br /&gt;
|fifo||&lt;br /&gt;
|-&lt;br /&gt;
|fifo_wronly||&lt;br /&gt;
|-&lt;br /&gt;
|file_attr||&lt;br /&gt;
|-&lt;br /&gt;
|fpu00||&lt;br /&gt;
|-&lt;br /&gt;
|futex||+&lt;br /&gt;
|-&lt;br /&gt;
|inotify_system||&lt;br /&gt;
|-&lt;br /&gt;
|link10||&lt;br /&gt;
|-&lt;br /&gt;
|maps00||+&lt;br /&gt;
|-&lt;br /&gt;
|mmx00||&lt;br /&gt;
|-&lt;br /&gt;
|mprotect00||+&lt;br /&gt;
|-&lt;br /&gt;
|msgque||+&lt;br /&gt;
|-&lt;br /&gt;
|mtime_mmap||+&lt;br /&gt;
|-&lt;br /&gt;
|overmount_dev||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_fifo||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_file||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_sock||&lt;br /&gt;
|-&lt;br /&gt;
|pid00||FAIL: pid00.c:37: ppid != getppid()&lt;br /&gt;
|-&lt;br /&gt;
|pipe00||+&lt;br /&gt;
|-&lt;br /&gt;
|route_rules||&lt;br /&gt;
|-&lt;br /&gt;
|shm||+&lt;br /&gt;
|-&lt;br /&gt;
|sem||+&lt;br /&gt;
|-&lt;br /&gt;
|sleeping00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_aio||&lt;br /&gt;
|-&lt;br /&gt;
|sse00||&lt;br /&gt;
|-&lt;br /&gt;
|sse20||&lt;br /&gt;
|-&lt;br /&gt;
|timers||&lt;br /&gt;
|-&lt;br /&gt;
|umask00||&lt;br /&gt;
|-&lt;br /&gt;
|unbound_sock||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fifo||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fifo_wronly||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fstat00||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fstat01||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_largefile||&lt;br /&gt;
|-&lt;br /&gt;
|wait00||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read00||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read01||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read02||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read10||&lt;br /&gt;
|-&lt;br /&gt;
|zombie00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_listen||+&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Streaming&lt;br /&gt;
|-&lt;br /&gt;
|fifo_dyn||&lt;br /&gt;
|-&lt;br /&gt;
|fifo_loop||&lt;br /&gt;
|-&lt;br /&gt;
|file_aio||&lt;br /&gt;
|-&lt;br /&gt;
|netlink00||&lt;br /&gt;
|-&lt;br /&gt;
|pipe_loop00||+&lt;br /&gt;
|-&lt;br /&gt;
|pipe_shared00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_loop00||+&lt;br /&gt;
|-&lt;br /&gt;
|unix_sock||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Transition&lt;br /&gt;
|-&lt;br /&gt;
|epoll||&lt;br /&gt;
|-&lt;br /&gt;
|file_read||+&lt;br /&gt;
|-&lt;br /&gt;
|ipc||+&lt;br /&gt;
|-&lt;br /&gt;
|ptrace||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=187</id>
		<title>Upstream kernel commits</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Upstream_kernel_commits&amp;diff=187"/>
		<updated>2012-02-21T12:07:20Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mainline commits tracker ==&lt;br /&gt;
&lt;br /&gt;
Here is the commits list we need for mainline kernel in a sake of C/R functionality.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Commit&lt;br /&gt;
! Description&lt;br /&gt;
! Status&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=218fdc37839eee98a1269c559c1c93d4764879be] || procfs: make proc_get_link to use dentry instead of inode || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=81582b26d8e59801d400ca594cc2b8cc3599c28a] || procfs: introduce the /proc/&amp;lt;pid&amp;gt;/map_files/ directory || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=6bea62a89c3108f38a19af234b28c0e127d9bbcc] || c/r: introduce CHECKPOINT_RESTORE symbol || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=e9a7831c3cf82ade14eaa7ab3400cf497980a324] || c/r: prctl: add PR_SET_MM codes to set up mm_struct entries || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=77b9732a75818efc5d6ca23ff1630ad2d0105e0f] || c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4 || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=64d51bda595d2c31c4e27f14e0a48423c0e89a99] || sysctl: add the kernel.ns_last_pid control || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=c9da99e6475f92653139e43f3c30c0cd011a0fd8] || unix_diag: Fixup RQLEN extension report || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=885ee74d5d3058e4a904671ed7929c9540c95fa5] || af_unix: Move CINQ/COUTQ code to helpers || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=257b529876cb45ec791eaa89e3d2ee0d16b49383] || unix_diag: Add the MEMINFO extension || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=c0636faa539ec4205ec50e80844a5b0454b4bbaa] || inet_diag: Add the SKMEMINFO extension || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=5d2e5f274f9e9a06fb934dd45260e2616a9992e6] || sock_diag: Introduce the meminfo nla core (v2) || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=288461e1546fa4162fa237eeed8ea09a16521dcd] || unix_diag: Include unix_diag.h into header-y target || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=e6fe2371bdd3713d0b227e9cd7f905e127ff81a0] || sock_diag: Arrange sock_diag.h such that it is exportable to userspace || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=e09e9d189bc2d31dc365a3d846a09086317350b6] || unix: If we happen to find peer NULL when diag dumping, write zero. || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=3b0723c12e825e26aa5fc0c6970108425824b51d] || unix_diag: Fix incoming connections nla length  || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=2ea744a583d0f40901b2ea43059ae007d9cf2602] || net: unix -- Add missing module.h inclusion || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=5d531aaa64a06622874f06e5068b8eefca048feb] || unix_diag: Write it into kbuild || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=cbf391958afb9b82c72324a15891eb3102200085] || unix_diag: Receive queue lenght NLA || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=2aac7a2cb0d9d8c65fc7dde3e19e46b3e878d23d] || unix_diag: Pending connections IDs NLA || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=ac02be8d96af9f66a4de86781ee9facc2dff99d4] || unix_diag: Unix peer inode NLA || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=5f7b0569460b7d8d01ca776430a00505a68b7584] || unix_diag: Unix inode info NLA || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=f5248b48a64c221dd6157ab9cbee5a36ee45e6ed] || unix_diag: Unix socket name NLA || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=5d3cae8bc39dd38d1aa5fd4bbc788c7b43fcaa71] || unix_diag: Dumping exact socket core || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=45a96b9be6ec1b7d248642d17ceee59ff5f64451] || unix_diag: Dumping all sockets core || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=22931d3b906cd0a1726a49a09713f9220a5fab8a] || unix_diag: Basic module skeleton || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=fa7ff56f75add89bbedaf2dfcfa8f6661e8e8b3a] || af_unix: Export stuff required for diag module || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=f65c1b534b99aef1809b893387b295963821549f] || sock_diag: Generalize requests cookies managements || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=aec8dc62f66199aef153d86e1f90d9c1d14696e3] || sock_diag: Fix module netlink aliases || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=e7c466e58eb1ff9bf49c2f3902622dc11a8c7022] || sock_diag: Move the SOCK_DIAG_BY_FAMILY cmd declaration || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=86e62ad6b2a49064a078d7f22fa81afdaecc1187] || udp_diag: Fix the !ipv6 case || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=b872a2371ffd13e6d83423ef621a707df4c158ac] || udp_diag: Make it module when ipv6 is a module || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=507dd7961eed950ef958a9a9536de987c52e81cd] || udp_diag: Wire the udp_diag module into kbuild || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=b6d640c2286d16b15a21a4475c896cdce6a0bbe0] || udp_diag: Implement the dump-all functionality || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=a925aa00a55e3b72bd38bfdd3d6f97c0d900c949] || udp_diag: Implement the get_exact dumping functionality || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=52b7c59bc34c1eb73c46e023c9c01231e1cb637a] || udp_diag: Basic skeleton || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=fce823381e3c082ba1b2e15d5151d1aa8afdc9e9] || udp: Export code sk lookup routines || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=1942c518ca017f376b267a7c5e78c15d37202442] || inet_diag: Generalize inet_diag dump and get_exact calls || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=3c4d05c8056724aff3abc20650807dd828fded54] || inet_diag: Introduce the inet socket dumping routine || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=8d07d1518a074a08b90be02eee5ee15e60ac9779] || inet_diag: Introduce the byte-code run on an inet socket || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=efb3cb428dcde2356802b3f93e152efa7abc5a62] || inet_diag: Split inet_diag_get_exact into parts || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=476f7dbff30a7c122899d753c9119d9233928380] || inet_diag: Split inet_diag_get_exact into parts || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=b005ab4ef8805dc4604848c9d2ccca9d71f8fc46] || inet_diag: Export inet diag cookie checking routine || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=87c22ea52e1bb467f58b3e9a71509fccb70c7bd3] || inet_diag: Reduce the number of args for bytecode run routine || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=7b35eadd7eee2e0b42421ce3efbc30f1c3c745e5] || inet_diag: Remove indirect sizeof from inet diag handlers || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=8ef874bfc7296fa206eea2ad1e8a426f576bf6f6] || sock_diag: Move the sock_ code to net/core/ || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=a029fe26b67f815eddd432d9e702b9f2edbc2535] || inet_diag: Cleanup type2proto last user || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=d23deaa07b9b788e781a2253672cdc8b65b85e53] || inet_diag: Introduce socket family checks || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=25c4cd2b6dfd8e3d8efd8e85f167b66c032b80d9] || inet_diag: Switch the _dump to work with new header || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=fe50ce284616c3131e353ff7158002aa47a41a81] || inet_diag: Switch the _get_exact to work with new header || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=126fdc3249c9ced2a0d20f916858fec26a445f61] || inet_diag: Introduce new inet_diag_req header || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=d366477a52f1df29fa066ffb18e4e6101ee2ad04] || sock_diag: Initial skeleton || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=f13c95f0e255e6d21762259875295cc212e6bc32] || inet_diag: Switch from _GETSOCK to IPPROTO_ numbers || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=37f352b5e3e89337f7a9a3a90250b5dde3c5f40d] || inet_diag: Move byte-code finding up the call-stack || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git;a=commit;h=8d34172dfdb762a306cdf58b547aa10d798622ec] || sock_diag: Introduce new message type || v3.3 || merged&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/34c768c76eafee1333b5731ae4162c8f8c11e35d] || mincore: Report whether page is anon or not || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/40f8cf1ebd553e0eae1a810012e023522a2d616e] || mincore: Add named constant for reported present bit || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/4bd99d2706575dd670945fa7f7ceb0cf2d5c62de] || Add routine for generating an ID for kernel pointer || deprecated || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/449a58d93f3655da47d162572acf5f1e7db49f5a] || proc: Show namespaces IDs in /proc/pid/ns/* files || deprecated || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/808fc1451b9804ab7195e0c93406f47a865efbc7] || proc: Show open file ID in /proc/pid/fdinfo/* || deprecated || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/50230bd3dfbecb1167881fe8711298cf1a3ca52c] || proc: Show IDs of objects cloned with CLONE_ in proc || deprecated || -&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/f73731c8cbc5ab13a10b0b336c613782c15700b8] || fs, proc: Introduce /proc/&amp;lt;pid&amp;gt;/task/&amp;lt;tid&amp;gt;/children entry v9 || linux-next ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/d607d3d354cb0d0e733ab72705c312e6b7fb533c] || c/r: procfs: add arg_start/end, env_start/end and exit_code members || linux-next ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/69a276936801722ca329231cf9046736307108aa] || c/r: prctl: Extend PR_SET_MM to set up more mm_struct entries || linux-next ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/951bc60c6af09c44d16df64e38b7832e25e807a5] || syscalls, x86: Add __NR_kcmp syscall || linux-next ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/c561e512db50c75e43438358a1d064c921518068] || c/r: prctl: Add ability to set new mm_struct::exe_file || - ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/cc3661d7ae960bdbe8f0a94a29621271e08a7e41] || cgroups: freezer -- Allow to attach a task to a frozen cgroup (v2) || postproned || Tejun asked to respin review after 3.2 merge window closed&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/bae44c4df14e9b65643c5a6527e517dd1f3115cb] || ipc: segment key change helper introduced || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/87cae248b173ee7559229dde3fa31394b390b0a6] || ipc: &amp;quot;use key as id&amp;quot; functionality for new segment allocation introduced || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/c3e58ff50faf78ae10df922103a69bb05a360357] || ipc: add new flag for preset shmem id on creation || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/8dff317bed2b51fcae0eb002666e2af7e6fd4693] || ipc: add new SHM_SET command for sys_shmctl() call || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/1e38ab80efb6793c363a3bf424606345fdc3a3b7] || ipc: add new flag for preset msgque id on creation || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/6240655ddfbfbc23760e391cdd6a38da845fe002] || ipc: add new MSG_SET command for sys_msgctl() call || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/f1bbe55e37da19c61f9fbc98a428c1b2b2171be4] || ipc: add new flag for preset sem id on creation || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/d6db02cfcacb8aa64927113f749562a9486bfc55] || ipc: add new SHM_SET command for sys_shmctl() call || sent-for-review ||-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/cyrillos/linux-2.6/commit/b0f161e622982491057a22417ce927fec5d94421] || IPC: message queue stealing feature introduced || sent-for-review ||-&lt;br /&gt;
|-}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=ZDTM_test_suite&amp;diff=181</id>
		<title>ZDTM test suite</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=ZDTM_test_suite&amp;diff=181"/>
		<updated>2012-02-15T08:58:41Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Static&lt;br /&gt;
|-&lt;br /&gt;
|busyloop00||+&lt;br /&gt;
|-&lt;br /&gt;
|cwd00||+&lt;br /&gt;
|-&lt;br /&gt;
|deleted_dev||&lt;br /&gt;
|-&lt;br /&gt;
|deleted_unix_sock||&lt;br /&gt;
|-&lt;br /&gt;
|env00||+&lt;br /&gt;
|-&lt;br /&gt;
|fifo||&lt;br /&gt;
|-&lt;br /&gt;
|fifo_wronly||&lt;br /&gt;
|-&lt;br /&gt;
|file_attr||&lt;br /&gt;
|-&lt;br /&gt;
|fpu00||&lt;br /&gt;
|-&lt;br /&gt;
|futex||+&lt;br /&gt;
|-&lt;br /&gt;
|inotify_system||&lt;br /&gt;
|-&lt;br /&gt;
|link10||&lt;br /&gt;
|-&lt;br /&gt;
|maps00||+&lt;br /&gt;
|-&lt;br /&gt;
|mmx00||&lt;br /&gt;
|-&lt;br /&gt;
|mprotect00||+&lt;br /&gt;
|-&lt;br /&gt;
|msgque||+&lt;br /&gt;
|-&lt;br /&gt;
|mtime_mmap||+&lt;br /&gt;
|-&lt;br /&gt;
|overmount_dev||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_fifo||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_file||&lt;br /&gt;
|-&lt;br /&gt;
|overmount_sock||&lt;br /&gt;
|-&lt;br /&gt;
|pid00||FAIL: pid00.c:37: ppid != getppid()&lt;br /&gt;
|-&lt;br /&gt;
|pipe00||+&lt;br /&gt;
|-&lt;br /&gt;
|route_rules||&lt;br /&gt;
|-&lt;br /&gt;
|shm||+&lt;br /&gt;
|-&lt;br /&gt;
|sem||+&lt;br /&gt;
|-&lt;br /&gt;
|sleeping00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_aio||&lt;br /&gt;
|-&lt;br /&gt;
|sse00||&lt;br /&gt;
|-&lt;br /&gt;
|sse20||&lt;br /&gt;
|-&lt;br /&gt;
|timers||&lt;br /&gt;
|-&lt;br /&gt;
|umask00||&lt;br /&gt;
|-&lt;br /&gt;
|unbound_sock||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fifo||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fifo_wronly||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fstat00||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_fstat01||&lt;br /&gt;
|-&lt;br /&gt;
|unlink_largefile||&lt;br /&gt;
|-&lt;br /&gt;
|wait00||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read00||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read01||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read02||+&lt;br /&gt;
|-&lt;br /&gt;
|write_read10||&lt;br /&gt;
|-&lt;br /&gt;
|zombie00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_listen||+&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Streaming&lt;br /&gt;
|-&lt;br /&gt;
|fifo_dyn||&lt;br /&gt;
|-&lt;br /&gt;
|fifo_loop||&lt;br /&gt;
|-&lt;br /&gt;
|file_aio||&lt;br /&gt;
|-&lt;br /&gt;
|netlink00||&lt;br /&gt;
|-&lt;br /&gt;
|pipe_loop00||+&lt;br /&gt;
|-&lt;br /&gt;
|pipe_shared00||+&lt;br /&gt;
|-&lt;br /&gt;
|socket_loop00||&lt;br /&gt;
|-&lt;br /&gt;
|unix_sock||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Transition&lt;br /&gt;
|-&lt;br /&gt;
|epoll||&lt;br /&gt;
|-&lt;br /&gt;
|file_read||+&lt;br /&gt;
|-&lt;br /&gt;
|ipc||+&lt;br /&gt;
|-&lt;br /&gt;
|ptrace||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=180</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=180"/>
		<updated>2012-02-15T08:56:21Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|-&lt;br /&gt;
| crtools/zdtm || sigactions zdtm test || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools ||  tsk-&amp;gt;clear_child_tid || avagin@ || - || pthread_join uses it&lt;br /&gt;
|-&lt;br /&gt;
| crtools || pipe data should be aligned to page size || avagin@ || - || otherwise splice of 0x10000 bytes will be blocked&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=176</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=176"/>
		<updated>2012-02-06T10:52:26Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC namespace || skinsbursky || done || - Only namespace itself. I.e. sysctl's tunables.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC shared memory || skinsbursky || sent-for-review || - required remap of migrated shared segments for tasks.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC message queues || skinsbursky ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC semaphores || skinsbursky ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|-&lt;br /&gt;
| crtools/zdtm || sigactions zdtm test || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools ||  tsk-&amp;gt;clear_child_tid || avagin@ || - || pthread_join uses it&lt;br /&gt;
|-&lt;br /&gt;
| crtools || pipe data should be aligned to page size || avagin@ || - || otherwise splice of 0x10000 bytes will be blocked&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=168</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=168"/>
		<updated>2012-02-03T15:26:33Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC namespace || skinsbursky || done || - Only namespace itself. I.e. sysctl's tunables.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC shared memory || skinsbursky || sent-for-review || - required remap of migrated shared segments for tasks.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|-&lt;br /&gt;
| crtools/zdtm || sigactions zdtm test || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools ||  tsk-&amp;gt;clear_child_tid || avagin@ || - || pthread_join uses it&lt;br /&gt;
|-&lt;br /&gt;
| crtools || pipe data should be aligned to page size || avagin@ || - || otherwise splice of 0x10000 bytes will be blocked&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=162</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=162"/>
		<updated>2012-01-30T17:37:32Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC namespace || skinsbursky || patches sent || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC shared memory || skinsbursky || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|-&lt;br /&gt;
| crtools/zdtm || sigactions zdtm test || avagin@ || - ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=157</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=157"/>
		<updated>2012-01-26T13:03:09Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || Concept is changed. IDs are substituted with kcmp syscall.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC namespace || skinsbursky || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools/kernel || timers || xemul@ || - || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=147</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=147"/>
		<updated>2012-01-19T12:45:28Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken exe (after restore) || gorcunov@ || - ||&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Installation&amp;diff=145</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Installation&amp;diff=145"/>
		<updated>2012-01-18T10:45:19Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Configure the linux kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What CRtools is ==&lt;br /&gt;
&lt;br /&gt;
'''CRtools''' is an utility to checkpoint/restore process tree. Unlike checkpoint/restore implemented completely in kernel space,&lt;br /&gt;
it tries to achieve the same target operating in user space. Since the tools and overall concept are still under heavy development&lt;br /&gt;
stage there are some known limitations applied&lt;br /&gt;
&lt;br /&gt;
# Only pure x86-64 environment is supported, no IA32 emulation allowed.&lt;br /&gt;
# There is no way to use cgroups freezer facility yet.&lt;br /&gt;
# No IPC checkpoint/restore supported, and network is under hard development stage.&lt;br /&gt;
&lt;br /&gt;
== Download crtools ==&lt;br /&gt;
&lt;br /&gt;
The '''crtools''' utility itself is hosted at [https://github.com/cyrillos/crtools github].&lt;br /&gt;
Clone this repo to test new functionality.&lt;br /&gt;
&lt;br /&gt;
Also '''crtools''' requires some additional patches to be applied on the linux kernel (on top of v3.2-rc6 to be precise).&lt;br /&gt;
&lt;br /&gt;
So clone [https://github.com/cyrillos/linux-2.6 linux-2.6-crtools.git], checkout ''crtools'' branch&lt;br /&gt;
and compile the kernel.&lt;br /&gt;
&lt;br /&gt;
== Configure the linux kernel ==&lt;br /&gt;
&lt;br /&gt;
Make sure you have the following options turned on&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Checkpoint/restore support (&amp;lt;code&amp;gt;CONFIG_CHECKPOINT_RESTORE&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Networking support -&amp;gt; Networking options -&amp;gt; Unix domain sockets -&amp;gt; UNIX: socket monitoring interface (&amp;lt;code&amp;gt;CONFIG_UNIX_DIAG&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Networking support -&amp;gt; Networking options -&amp;gt; TCP/IP networking -&amp;gt; INET: socket monitoring interface (&amp;lt;code&amp;gt;CONFIG_INET_DIAG&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Processor type and features -&amp;gt; Enable generic object ID infrastructure (&amp;lt;code&amp;gt;CONFIG_GENERIC_OBJECT_ID&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Note you might have to enable&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Configure standard kernel features (expert users) (&amp;lt;code&amp;gt;CONFIG_EXPERT&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
option, which depends on&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Embedded system (&amp;lt;code&amp;gt;CONFIG_EMBEDDED&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
(welcome to Kconfig reverse chains hell).&lt;br /&gt;
&lt;br /&gt;
== Using CR tools ==&lt;br /&gt;
Please see [[running CR tools]] article.&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=144</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=144"/>
		<updated>2012-01-17T19:29:45Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || done || Ipv4 support only&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || This requires to extend prctl for restore and add output for args in /proc&lt;br /&gt;
|-&lt;br /&gt;
| crtools || add separate type for futex-s || avagin@ || - ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=141</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=141"/>
		<updated>2012-01-16T20:52:41Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || sent-for-review || Ipv4 support only&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=140</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=140"/>
		<updated>2012-01-16T20:52:21Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || sent-for-review || Ipv4 support only&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
| crtools || fix broken comm (after restore) || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=139</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=139"/>
		<updated>2012-01-16T16:47:46Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || sent-for-review || Ipv4 support only&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=127</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=127"/>
		<updated>2012-01-13T17:12:50Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || in progress || &lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix mess with image fd-s || xemul@ || in progress || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=126</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=126"/>
		<updated>2012-01-13T17:12:23Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || on progress || &lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix mess with image fd-s || xemul@ || in progress || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Todo&amp;diff=125</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Todo&amp;diff=125"/>
		<updated>2012-01-13T17:11:53Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! component&lt;br /&gt;
! task&lt;br /&gt;
! assignee&lt;br /&gt;
! status&lt;br /&gt;
! comments&lt;br /&gt;
|-&lt;br /&gt;
| kernel || children entry in procfs || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Sockets dump/restore || xemul@/gorcunov@ || partially implemented || [[Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || socket queues dump || xemul@ || in progress || prototype exists, need to send&lt;br /&gt;
|-&lt;br /&gt;
| crtools || UDP sockets support || Adrian Reber || in progress? || need to utilize the udp diag subsys&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || TCP sockets support || xemul@ || - || have no idea :(&lt;br /&gt;
|-&lt;br /&gt;
| crtools || TCP listening sockets support || skinsbursky@ || - || on progress&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Unix in-flight connections support || gorcunov@ || - || need to use the ICONS diag field&lt;br /&gt;
|-&lt;br /&gt;
| kernel || kernel object IDs  || gorcunov@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix memory checkpointing || - || not implemented || [[Memory dumping and restoring]]&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix mincore bits || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Rework and submit MINCORE_ANON || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Implement MINCORE_SWAP - swapped pages are skipped by us currently || xemul@ || sent-for-review || -&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Fix shared regions migration || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Learn to work with shared struct file-s || avagin@ || done || depends on &amp;quot;object IDs&amp;quot;. Need to send file via unix socket&lt;br /&gt;
|-&lt;br /&gt;
| kernel/crtools || Learn to work with namespaces (ipc and net are of the most interest) || gorcunov@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Shared objects (mm/fs/fdtable) support || avagin@ || not implemented || depends on &amp;quot;object IDs&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| kernel || Provide own defconfig || gorcunov@ || not implemented || suggested by avagin@&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Get rid of shmem_update_real_pid() || gorcunov@ || - || this one was required when we restored tasks without pids. Nowadays this can be removed.&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Dump restoration logs to per-pid log file || avagin@/gorcunov@ || - || Otherwise there's a mess with on-screen flood&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Fix mess with image fd-s || xemul@ || in progress || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task IDs -- gid/suid/sid/fsid/etc. || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Task's ignored signals mask || gorcunov@ || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Rework dump_one_reg_file to use fhandles || - || - || This is required to work with overmounted files and not to store the long file path (will not work with rsync-ed private :( )&lt;br /&gt;
|-&lt;br /&gt;
| crtools || terminals || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Add make check so tests are automated || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || IPC || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| crtools || Drop redundant getpid() calls || gorcunov@ || - || It seems there are a few places where we do call getpid() which we know already&lt;br /&gt;
|-&lt;br /&gt;
| crtools || man-page || gorcunov@ || - || -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=Installation&amp;diff=118</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=Installation&amp;diff=118"/>
		<updated>2012-01-12T10:51:00Z</updated>

		<summary type="html">&lt;p&gt;Skinsbursky: /* Configure the linux kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What CRtools is ==&lt;br /&gt;
&lt;br /&gt;
'''CRtools''' is an utility to checkpoint/restore process tree. Unlike checkpoint/restore implemented completely in kernel space,&lt;br /&gt;
it tries to achieve the same target operating in user space. Since the tools and overall concept are still under heavy development&lt;br /&gt;
stage there are some known limitations applied&lt;br /&gt;
&lt;br /&gt;
# Only pure x86-64 environment is supported, no IA32 emulation allowed.&lt;br /&gt;
# There is no way to use cgroups freezer facility yet.&lt;br /&gt;
# No network or IPC checkpoint/restore supported.&lt;br /&gt;
&lt;br /&gt;
== Basic design ==&lt;br /&gt;
&lt;br /&gt;
=== Checkpoint ===&lt;br /&gt;
&lt;br /&gt;
The checkpoint procedure relies heavily on '''/proc''' file system (it's a general place where crtools takes all the information it needs).&lt;br /&gt;
Which includes&lt;br /&gt;
&lt;br /&gt;
* Files descriptors information (via '''/proc/$pid/fd''' and '''/proc/$pid/fdinfo''').&lt;br /&gt;
* Pipes parameters.&lt;br /&gt;
* Memory maps (via '''/proc/$pid/maps''').&lt;br /&gt;
&lt;br /&gt;
The process dumper (lets call it a dumper further) does the following steps during checkpoint stage&lt;br /&gt;
&lt;br /&gt;
# A '''$pid''' of a process group leader is obtained from the command line.&lt;br /&gt;
# By using this '''$pid''' the dumper walks though '''/proc/$pid/status''' and gathers children '''$pids''' recursively. At the end we will have a process tree.&lt;br /&gt;
# Then it takes every '''$pid''' from a process tree, sends ''SIGSTOP'' to every process found, and performs the following steps on each '''$pid'''.&lt;br /&gt;
#* Collects VMA areas by parsing '''/proc/$pid/maps'''.&lt;br /&gt;
#* Seizes a task via relatively new ptrace interface. Seizing a task means to put it into a special state when the task have no idea if it's being operated by ptrace.&lt;br /&gt;
#* Core parameters of a task (such as registers and friends) are being dumped via ptrace interface and parsing '''/proc/$pid/stat''' entry.&lt;br /&gt;
#* The dumper injects a parasite code into a task via ptrace interface. This allows us to dump pages of a task right from within the task's address space.&lt;br /&gt;
#** An injection procedure is pretty simple - the dumper scans executable VMA areas of a task (which were collected previously) and tests if there a place for &amp;lt;code&amp;gt;syscall&amp;lt;/code&amp;gt; call, then (by ptrace as well) it substitutes an original code with &amp;lt;code&amp;gt;syscall&amp;lt;/code&amp;gt; instructions and creates a new VMA area inside process address space.&lt;br /&gt;
#** Finally parasite code get copied into the new VMA and the former code which was modified during parasite bootstrap procedure get restored.&lt;br /&gt;
#* Then (by using a parasite code) the dumper flushes contents of a task's pages to the file. And pulls out parasite code block completely, since we don't need it anymore.&lt;br /&gt;
#* Once parasite removed a task get unseized via ptrace call but it remains stopped still.&lt;br /&gt;
#* The dumper writes out files and pipes parameter and data.&lt;br /&gt;
# The procedure continues for every '''$pid'''.&lt;br /&gt;
&lt;br /&gt;
=== Restore ===&lt;br /&gt;
&lt;br /&gt;
The restore procedure (aka restorer) proceed in the following steps&lt;br /&gt;
&lt;br /&gt;
# A process tree has been read from a file.&lt;br /&gt;
# Every process started with saved (i.e. original) '''$pid''' via &amp;lt;code&amp;gt;clone()&amp;lt;/code&amp;gt; call.&lt;br /&gt;
# Files and pipes are restored (by restored it's meant - they are opened and positioned).&lt;br /&gt;
# A new memory map is created, filled with data the program had at checkpoint time.&lt;br /&gt;
# Finally the program is kicked to start with rt_sigreturn system call.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Kernel requirements ===&lt;br /&gt;
&lt;br /&gt;
Since checkpoint and restore processes require some help from the Linux kernel, the following kernel patches are needed&lt;br /&gt;
&lt;br /&gt;
* procfs-report-eisdir-when-reading-sysctl-dirs-in-proc.patch&lt;br /&gt;
* proc-fix-races-against-execve-of-proc-pid-fd.patch&lt;br /&gt;
* proc-fix-races-against-execve-of-proc-pid-fd-fix.patch&lt;br /&gt;
* proc-force-dcache-drop-on-unauthorized-access.patch&lt;br /&gt;
* cr-statfs-callback-for-pipefs&lt;br /&gt;
&lt;br /&gt;
These patches are already in -mm tree and rather a preparation patches for the next series.&lt;br /&gt;
&lt;br /&gt;
* fs-proc-switch-to-dentry&lt;br /&gt;
* cr-proc-map-files-21&lt;br /&gt;
&lt;br /&gt;
These patches introduce '''/proc/$pid/msp_files'''.&lt;br /&gt;
&lt;br /&gt;
* cr-clone-with-pid-support&lt;br /&gt;
&lt;br /&gt;
This one introduce ability to clone process with specified pid.&lt;br /&gt;
&lt;br /&gt;
* cr-proc-add-children&lt;br /&gt;
&lt;br /&gt;
This one introduce &amp;quot;Children&amp;quot; line to '''/proc/$pid/status'''.&lt;br /&gt;
&lt;br /&gt;
* fs-add-do-close&lt;br /&gt;
* fs-proc-add-tls&lt;br /&gt;
* fs-proc-add-mm-task-stat&lt;br /&gt;
&lt;br /&gt;
These ones provides missing pieces of process' information which is needed for checkpoint/restore.&lt;br /&gt;
&lt;br /&gt;
* binfmt-elf-for-cr-5&lt;br /&gt;
&lt;br /&gt;
This one provides new Elf file format.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download crtools ==&lt;br /&gt;
&lt;br /&gt;
The '''crtools''' utility itself is hosted at [https://github.com/cyrillos/crtools github].&lt;br /&gt;
Clone this repo to test new functionality.&lt;br /&gt;
&lt;br /&gt;
Also '''crtools''' requires some additional patches to be applied on the linux kernel (on top of v3.2-rc6 to be precise).&lt;br /&gt;
&lt;br /&gt;
So clone [https://github.com/cyrillos/linux-2.6 linux-2.6-crtools.git], checkout ''crtools'' branch&lt;br /&gt;
and compile the kernel.&lt;br /&gt;
&lt;br /&gt;
== Configure the linux kernel ==&lt;br /&gt;
&lt;br /&gt;
Make sure you have the following options turned on&lt;br /&gt;
&lt;br /&gt;
# General setup -&amp;gt; Checkpoint/restore support (CONFIG_CHECKPOINT_RESTORE)&lt;br /&gt;
# Networking support -&amp;gt; Networking options -&amp;gt; Unix domain sockets -&amp;gt; UNIX: socket monitoring interface (CONFIG_UNIX_DIAG)&lt;br /&gt;
# Processor type and features -&amp;gt; Enable generic object ID infrastructure (CONFIG_GENERIC_OBJECT_ID)&lt;br /&gt;
&lt;br /&gt;
Note you might have to enable&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Configure standard kernel features (expert users) (CONFIG_EXPERT)&lt;br /&gt;
&lt;br /&gt;
option, which depends on&lt;br /&gt;
&lt;br /&gt;
* General setup -&amp;gt; Embedded system (CONFIG_EMBEDDED)&lt;br /&gt;
&lt;br /&gt;
(welcome to Kconfig reverse chains hell).&lt;/div&gt;</summary>
		<author><name>Skinsbursky</name></author>
	</entry>
</feed>