[kernel] r9612 - in dists/sid/linux-2.6/debian: . patches/bugfix patches/features/all/vserver patches/series

Maximilian Attems maks at alioth.debian.org
Mon Oct 8 21:48:03 UTC 2007


Author: maks
Date: Mon Oct  8 21:48:03 2007
New Revision: 9612

Log:
add stable 2.6.22.9
update vserver to 2.2.0.4 as entagled


Added:
   dists/sid/linux-2.6/debian/patches/bugfix/2.6.22.9
   dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.4.patch
      - copied, changed from r9611, /dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.3.patch
   dists/sid/linux-2.6/debian/patches/series/5-extra
      - copied, changed from r9611, /dists/sid/linux-2.6/debian/patches/series/4-extra
Removed:
   dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.3.patch
   dists/sid/linux-2.6/debian/patches/series/4-extra
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/5

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Mon Oct  8 21:48:03 2007
@@ -33,6 +33,59 @@
     - x86_64: Zero extend all registers after ptrace in 32bit entry path.
   * Add stable release 2.6.22.8: (CVE-2007-4571)
     - Convert snd-page-alloc proc file to use seq_file
+  * Add stable release 2.6.22.9:
+    - 3w-9xxx: Fix dma mask setting
+    - Fix pktgen src_mac handling.
+    - nfs: fix oops re sysctls and V4 support
+    - DVB: get_dvb_firmware: update script for new location of tda10046 firmware
+    - afs: mntput called before dput
+    - disable sys_timerfd()
+    - Fix "Fix DAC960 driver on machines which don't support 64-bit DMA"
+    - futex_compat: fix list traversal bugs
+    - MTD: Initialise s_flags in get_sb_mtd_aux()
+    - Fix sparc64 v100 platform booting.
+    - Fix IPV6 DAD handling
+    - ext34: ensure do_split leaves enough free space in both blocks
+    - dir_index: error out instead of BUG on corrupt dx dirs
+    - Fix oops in vlan and bridging code
+    - V4L: ivtv: fix VIDIOC_S_FBUF: new OSD values were never set
+    - crypto: blkcipher_get_spot() handling of buffer at end of page
+    - Fix datagram recvmsg NULL iov handling regression.
+    - Handle snd_una in tcp_cwnd_down()
+    - Fix TCP DSACK cwnd handling
+    - JFFS2: fix write deadlock regression
+    - hwmon: End of I/O region off-by-one
+    - Fix debug regression in video/pwc
+    - splice: fix direct splice error handling
+    - Fix race with shared tag queue maps
+    - Fix ipv6 source address handling.
+    - POWERPC: Flush registers to proper task context
+    - bcm43xx: Fix cancellation of work queue crashes
+    - Fix DAC960 driver on machines which don't support 64-bit DMA
+    - DVB: get_dvb_firmware: update script for new location of sp8870 firmware
+    - USB: fix linked list insertion bugfix for usb core
+    - Correctly close old nfsd/lockd sockets.
+    - Fix IPSEC AH4 options handling
+    - setpgid(child) fails if the child was forked by sub-thread
+    - sigqueue_free: fix the race with collect_signal()
+    - Fix decnet device address listing.
+    - Fix inet_diag OOPS.
+    - Leases can be hidden by flocks
+    - kconfig: oldconfig shall not set symbols if it does not need to
+    - MTD: Makefile fix for mtdsuper
+    - firewire: fw-ohci: ignore failure of pci_set_power_state
+      (fix suspend regression)
+    - ieee1394: ohci1394: fix initialization if built non-modular
+    - Fix device address listing for ipv4.
+    - Fix tc_ematch kbuild
+    - V4L: cx88: Avoid a NULL pointer dereference during mpeg_open()
+    - DVB: b2c2-flexcop: fix Airstar HD5000 tuning regression
+    - fix realtek phy id in forcedeth
+    - rpc: fix garbage in printk in svc_tcp_accept()
+    - Fix IPV6 append OOPS.
+    - Fix ipv6 double-sock-release with MSG_CONFIRM
+    - ACPI: Validate XSDT, use RSDT if XSDT fails
+  * Update vserver patch to 2.2.0.4.
 
   [ Martin Michlmayr ]
   * [mips] Add a fix so qemu NE2000 will work again.
@@ -53,7 +106,7 @@
   [ dann frazier ]
   * [ia64] Enable cciss module
 
- -- maximilian attems <maks at debian.org>  Mon, 08 Oct 2007 23:24:16 +0200
+ -- maximilian attems <maks at debian.org>  Mon, 08 Oct 2007 23:39:51 +0200
 
 linux-2.6 (2.6.22-4) unstable; urgency=low
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/2.6.22.9
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/2.6.22.9	Mon Oct  8 21:48:03 2007
@@ -0,0 +1,1649 @@
+diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
+index 4820366..6cb3080 100644
+--- a/Documentation/dvb/get_dvb_firmware
++++ b/Documentation/dvb/get_dvb_firmware
+@@ -56,7 +56,7 @@ syntax();
+ 
+ sub sp8870 {
+     my $sourcefile = "tt_Premium_217g.zip";
+-    my $url = "http://www.technotrend.de/new/217g/$sourcefile";
++    my $url = "http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/$sourcefile";
+     my $hash = "53970ec17a538945a6d8cb608a7b3899";
+     my $outfile = "dvb-fe-sp8870.fw";
+     my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
+@@ -110,21 +110,21 @@ sub tda10045 {
+ }
+ 
+ sub tda10046 {
+-    my $sourcefile = "tt_budget_217g.zip";
+-    my $url = "http://www.technotrend.de/new/217g/$sourcefile";
+-    my $hash = "6a7e1e2f2644b162ff0502367553c72d";
+-    my $outfile = "dvb-fe-tda10046.fw";
+-    my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
++	my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip";
++	my $url = "http://technotrend-online.com/download/software/219/$sourcefile";
++	my $hash = "6a7e1e2f2644b162ff0502367553c72d";
++	my $outfile = "dvb-fe-tda10046.fw";
++	my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
+ 
+-    checkstandard();
++	checkstandard();
+ 
+-    wgetfile($sourcefile, $url);
+-    unzip($sourcefile, $tmpdir);
+-    extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24478, "$tmpdir/fwtmp");
+-    verify("$tmpdir/fwtmp", $hash);
+-    copy("$tmpdir/fwtmp", $outfile);
++	wgetfile($sourcefile, $url);
++	unzip($sourcefile, $tmpdir);
++	extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp");
++	verify("$tmpdir/fwtmp", $hash);
++	copy("$tmpdir/fwtmp", $outfile);
+ 
+-    $outfile;
++	$outfile;
+ }
+ 
+ sub tda10046lifeview {
+diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
+index 6e2f035..87c474d 100644
+--- a/arch/powerpc/kernel/process.c
++++ b/arch/powerpc/kernel/process.c
+@@ -83,7 +83,7 @@ void flush_fp_to_thread(struct task_struct *tsk)
+ 			 */
+ 			BUG_ON(tsk != current);
+ #endif
+-			giveup_fpu(current);
++			giveup_fpu(tsk);
+ 		}
+ 		preempt_enable();
+ 	}
+@@ -143,7 +143,7 @@ void flush_altivec_to_thread(struct task_struct *tsk)
+ #ifdef CONFIG_SMP
+ 			BUG_ON(tsk != current);
+ #endif
+-			giveup_altivec(current);
++			giveup_altivec(tsk);
+ 		}
+ 		preempt_enable();
+ 	}
+@@ -182,7 +182,7 @@ void flush_spe_to_thread(struct task_struct *tsk)
+ #ifdef CONFIG_SMP
+ 			BUG_ON(tsk != current);
+ #endif
+-			giveup_spe(current);
++			giveup_spe(tsk);
+ 		}
+ 		preempt_enable();
+ 	}
+diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
+index 3bc136a..154f10e 100644
+--- a/arch/sparc64/kernel/pci.c
++++ b/arch/sparc64/kernel/pci.c
+@@ -751,7 +751,7 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm,
+ {
+ 	struct device_node *child;
+ 	const u32 *reg;
+-	int reglen, devfn;
++	int reglen, devfn, prev_devfn;
+ 	struct pci_dev *dev;
+ 
+ 	if (ofpci_verbose)
+@@ -759,14 +759,25 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm,
+ 		       node->full_name, bus->number);
+ 
+ 	child = NULL;
++	prev_devfn = -1;
+ 	while ((child = of_get_next_child(node, child)) != NULL) {
+ 		if (ofpci_verbose)
+ 			printk("  * %s\n", child->full_name);
+ 		reg = of_get_property(child, "reg", &reglen);
+ 		if (reg == NULL || reglen < 20)
+ 			continue;
++
+ 		devfn = (reg[0] >> 8) & 0xff;
+ 
++		/* This is a workaround for some device trees
++		 * which list PCI devices twice.  On the V100
++		 * for example, device number 3 is listed twice.
++		 * Once as "pm" and once again as "lomp".
++		 */
++		if (devfn == prev_devfn)
++			continue;
++		prev_devfn = devfn;
++
+ 		/* create a new pci_dev for this device */
+ 		dev = of_create_pci_dev(pbm, child, bus, devfn, 0);
+ 		if (!dev)
+diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
+index c99b463..4369ff2 100644
+--- a/block/ll_rw_blk.c
++++ b/block/ll_rw_blk.c
+@@ -1081,12 +1081,6 @@ void blk_queue_end_tag(request_queue_t *q, struct request *rq)
+ 		 */
+ 		return;
+ 
+-	if (unlikely(!__test_and_clear_bit(tag, bqt->tag_map))) {
+-		printk(KERN_ERR "%s: attempt to clear non-busy tag (%d)\n",
+-		       __FUNCTION__, tag);
+-		return;
+-	}
+-
+ 	list_del_init(&rq->queuelist);
+ 	rq->cmd_flags &= ~REQ_QUEUED;
+ 	rq->tag = -1;
+@@ -1096,6 +1090,13 @@ void blk_queue_end_tag(request_queue_t *q, struct request *rq)
+ 		       __FUNCTION__, tag);
+ 
+ 	bqt->tag_index[tag] = NULL;
++
++	if (unlikely(!test_and_clear_bit(tag, bqt->tag_map))) {
++		printk(KERN_ERR "%s: attempt to clear non-busy tag (%d)\n",
++		       __FUNCTION__, tag);
++		return;
++	}
++
+ 	bqt->busy--;
+ }
+ 
+diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c
+index 8edf40c..cce9236 100644
+--- a/crypto/blkcipher.c
++++ b/crypto/blkcipher.c
+@@ -59,11 +59,13 @@ static inline void blkcipher_unmap_dst(struct blkcipher_walk *walk)
+ 	scatterwalk_unmap(walk->dst.virt.addr, 1);
+ }
+ 
++/* Get a spot of the specified length that does not straddle a page.
++ * The caller needs to ensure that there is enough space for this operation.
++ */
+ static inline u8 *blkcipher_get_spot(u8 *start, unsigned int len)
+ {
+-	if (offset_in_page(start + len) < len)
+-		return (u8 *)((unsigned long)(start + len) & PAGE_MASK);
+-	return start;
++	u8 *end_page = (u8 *)(((unsigned long)(start + len - 1)) & PAGE_MASK);
++	return start > end_page ? start : end_page;
+ }
+ 
+ static inline unsigned int blkcipher_done_slow(struct crypto_blkcipher *tfm,
+@@ -155,7 +157,8 @@ static inline int blkcipher_next_slow(struct blkcipher_desc *desc,
+ 	if (walk->buffer)
+ 		goto ok;
+ 
+-	n = bsize * 2 + (alignmask & ~(crypto_tfm_ctx_alignment() - 1));
++	n = bsize * 3 - (alignmask + 1) +
++	    (alignmask & ~(crypto_tfm_ctx_alignment() - 1));
+ 	walk->buffer = kmalloc(n, GFP_ATOMIC);
+ 	if (!walk->buffer)
+ 		return blkcipher_walk_done(desc, walk, -ENOMEM);
+diff --git a/drivers/acpi/tables/tbutils.c b/drivers/acpi/tables/tbutils.c
+index 1da64b4..8cc9492 100644
+--- a/drivers/acpi/tables/tbutils.c
++++ b/drivers/acpi/tables/tbutils.c
+@@ -51,6 +51,65 @@ ACPI_MODULE_NAME("tbutils")
+ static acpi_physical_address
+ acpi_tb_get_root_table_entry(u8 * table_entry,
+ 			     acpi_native_uint table_entry_size);
++/*******************************************************************************
++ *
++ * FUNCTION:    acpi_tb_check_xsdt
++ *
++ * PARAMETERS:  address                    - Pointer to the XSDT
++ *
++ * RETURN:      status
++ *		AE_OK - XSDT is okay
++ *		AE_NO_MEMORY - can't map XSDT
++ *		AE_INVALID_TABLE_LENGTH - invalid table length
++ *		AE_NULL_ENTRY - XSDT has NULL entry
++ *
++ * DESCRIPTION: validate XSDT
++******************************************************************************/
++
++static acpi_status
++acpi_tb_check_xsdt(acpi_physical_address address)
++{
++	struct acpi_table_header *table;
++	u32 length;
++	u64 xsdt_entry_address;
++	u8 *table_entry;
++	u32 table_count;
++	int i;
++
++	table = acpi_os_map_memory(address, sizeof(struct acpi_table_header));
++	if (!table)
++		return AE_NO_MEMORY;
++
++	length = table->length;
++	acpi_os_unmap_memory(table, sizeof(struct acpi_table_header));
++	if (length < sizeof(struct acpi_table_header))
++		return AE_INVALID_TABLE_LENGTH;
++
++	table = acpi_os_map_memory(address, length);
++	if (!table)
++		return AE_NO_MEMORY;
++
++	/* Calculate the number of tables described in XSDT */
++	table_count =
++		(u32) ((table->length -
++		sizeof(struct acpi_table_header)) / sizeof(u64));
++	table_entry =
++		ACPI_CAST_PTR(u8, table) + sizeof(struct acpi_table_header);
++	for (i = 0; i < table_count; i++) {
++		ACPI_MOVE_64_TO_64(&xsdt_entry_address, table_entry);
++		if (!xsdt_entry_address) {
++			/* XSDT has NULL entry */
++			break;
++		}
++		table_entry += sizeof(u64);
++	}
++	acpi_os_unmap_memory(table, length);
++
++	if (i < table_count)
++		return AE_NULL_ENTRY;
++	else
++		return AE_OK;
++}
+ 
+ /*******************************************************************************
+  *
+@@ -341,6 +400,7 @@ acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags)
+ 	u32 table_count;
+ 	struct acpi_table_header *table;
+ 	acpi_physical_address address;
++	acpi_physical_address rsdt_address;
+ 	u32 length;
+ 	u8 *table_entry;
+ 	acpi_status status;
+@@ -369,6 +429,8 @@ acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags)
+ 		 */
+ 		address = (acpi_physical_address) rsdp->xsdt_physical_address;
+ 		table_entry_size = sizeof(u64);
++		rsdt_address = (acpi_physical_address)
++					rsdp->rsdt_physical_address;
+ 	} else {
+ 		/* Root table is an RSDT (32-bit physical addresses) */
+ 
+@@ -382,6 +444,15 @@ acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags)
+ 	 */
+ 	acpi_os_unmap_memory(rsdp, sizeof(struct acpi_table_rsdp));
+ 
++	if (table_entry_size == sizeof(u64)) {
++		if (acpi_tb_check_xsdt(address) == AE_NULL_ENTRY) {
++			/* XSDT has NULL entry, RSDT is used */
++			address = rsdt_address;
++			table_entry_size = sizeof(u32);
++			ACPI_WARNING((AE_INFO, "BIOS XSDT has NULL entry,"
++					"using RSDT"));
++		}
++	}
+ 	/* Map the RSDT/XSDT table header to get the full table length */
+ 
+ 	table = acpi_os_map_memory(address, sizeof(struct acpi_table_header));
+diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
+index 92bf868..84d6aa5 100644
+--- a/drivers/block/DAC960.c
++++ b/drivers/block/DAC960.c
+@@ -17,8 +17,8 @@
+ */
+ 
+ 
+-#define DAC960_DriverVersion			"2.5.48"
+-#define DAC960_DriverDate			"14 May 2006"
++#define DAC960_DriverVersion			"2.5.49"
++#define DAC960_DriverDate			"21 Aug 2007"
+ 
+ 
+ #include <linux/module.h>
+@@ -31,6 +31,7 @@
+ #include <linux/genhd.h>
+ #include <linux/hdreg.h>
+ #include <linux/blkpg.h>
++#include <linux/dma-mapping.h>
+ #include <linux/interrupt.h>
+ #include <linux/ioport.h>
+ #include <linux/mm.h>
+@@ -1165,9 +1166,9 @@ static bool DAC960_V1_EnableMemoryMailboxInterface(DAC960_Controller_T
+   int i;
+ 
+   
+-  if (pci_set_dma_mask(Controller->PCIDevice, DAC690_V1_PciDmaMask))
++  if (pci_set_dma_mask(Controller->PCIDevice, DMA_32BIT_MASK))
+ 	return DAC960_Failure(Controller, "DMA mask out of range");
+-  Controller->BounceBufferLimit = DAC690_V1_PciDmaMask;
++  Controller->BounceBufferLimit = DMA_32BIT_MASK;
+ 
+   if ((hw_type == DAC960_PD_Controller) || (hw_type == DAC960_P_Controller)) {
+     CommandMailboxesSize =  0;
+@@ -1368,9 +1369,12 @@ static bool DAC960_V2_EnableMemoryMailboxInterface(DAC960_Controller_T
+   dma_addr_t	CommandMailboxDMA;
+   DAC960_V2_CommandStatus_T CommandStatus;
+ 
+-  if (pci_set_dma_mask(Controller->PCIDevice, DAC690_V2_PciDmaMask))
+-	return DAC960_Failure(Controller, "DMA mask out of range");
+-  Controller->BounceBufferLimit = DAC690_V2_PciDmaMask;
++	if (!pci_set_dma_mask(Controller->PCIDevice, DMA_64BIT_MASK))
++		Controller->BounceBufferLimit = DMA_64BIT_MASK;
++	else if (!pci_set_dma_mask(Controller->PCIDevice, DMA_32BIT_MASK))
++		Controller->BounceBufferLimit = DMA_32BIT_MASK;
++	else
++		return DAC960_Failure(Controller, "DMA mask out of range");
+ 
+   /* This is a temporary dma mapping, used only in the scope of this function */
+   CommandMailbox = pci_alloc_consistent(PCI_Device,
+diff --git a/drivers/block/DAC960.h b/drivers/block/DAC960.h
+index f5e2436..85fa9bb 100644
+--- a/drivers/block/DAC960.h
++++ b/drivers/block/DAC960.h
+@@ -61,13 +61,6 @@
+ #define DAC960_V2_MaxPhysicalDevices		272
+ 
+ /*
+-  Define the pci dma mask supported by DAC960 V1 and V2 Firmware Controlers
+- */
+-
+-#define DAC690_V1_PciDmaMask	0xffffffff
+-#define DAC690_V2_PciDmaMask	0xffffffffffffffffULL
+-
+-/*
+   Define a 32/64 bit I/O Address data type.
+ */
+ 
+diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
+index 05a5ff1..f1cd9d3 100644
+--- a/drivers/firewire/fw-ohci.c
++++ b/drivers/firewire/fw-ohci.c
+@@ -1934,14 +1934,12 @@ static int pci_suspend(struct pci_dev *pdev, pm_message_t state)
+ 	free_irq(pdev->irq, ohci);
+ 	err = pci_save_state(pdev);
+ 	if (err) {
+-		fw_error("pci_save_state failed with %d", err);
++		fw_error("pci_save_state failed with %d\n", err);
+ 		return err;
+ 	}
+ 	err = pci_set_power_state(pdev, pci_choose_state(pdev, state));
+-	if (err) {
+-		fw_error("pci_set_power_state failed with %d", err);
+-		return err;
+-	}
++	if (err)
++		fw_error("pci_set_power_state failed with %d\n", err);
+ 
+ 	return 0;
+ }
+@@ -1955,7 +1953,7 @@ static int pci_resume(struct pci_dev *pdev)
+ 	pci_restore_state(pdev);
+ 	err = pci_enable_device(pdev);
+ 	if (err) {
+-		fw_error("pci_enable_device failed with %d", err);
++		fw_error("pci_enable_device failed with %d\n", err);
+ 		return err;
+ 	}
+ 
+diff --git a/drivers/hwmon/lm78.c b/drivers/hwmon/lm78.c
+index 9fb572f..3507113 100644
+--- a/drivers/hwmon/lm78.c
++++ b/drivers/hwmon/lm78.c
+@@ -882,7 +882,7 @@ static int __init lm78_isa_device_add(unsigned short address)
+ {
+ 	struct resource res = {
+ 		.start	= address,
+-		.end	= address + LM78_EXTENT,
++		.end	= address + LM78_EXTENT - 1,
+ 		.name	= "lm78",
+ 		.flags	= IORESOURCE_IO,
+ 	};
+diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c
+index c95909c..dcc941a 100644
+--- a/drivers/hwmon/w83781d.c
++++ b/drivers/hwmon/w83781d.c
+@@ -1746,7 +1746,7 @@ w83781d_isa_device_add(unsigned short address)
+ {
+ 	struct resource res = {
+ 		.start	= address,
+-		.end	= address + W83781D_EXTENT,
++		.end	= address + W83781D_EXTENT - 1,
+ 		.name	= "w83781d",
+ 		.flags	= IORESOURCE_IO,
+ 	};
+diff --git a/drivers/ieee1394/ieee1394_core.c b/drivers/ieee1394/ieee1394_core.c
+index 8f71b6a..ac07a05 100644
+--- a/drivers/ieee1394/ieee1394_core.c
++++ b/drivers/ieee1394/ieee1394_core.c
+@@ -1279,7 +1279,7 @@ static void __exit ieee1394_cleanup(void)
+ 	unregister_chrdev_region(IEEE1394_CORE_DEV, 256);
+ }
+ 
+-fs_initcall(ieee1394_init); /* same as ohci1394 */
++module_init(ieee1394_init);
+ module_exit(ieee1394_cleanup);
+ 
+ /* Exported symbols */
+diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
+index 5dadfd2..e65760f 100644
+--- a/drivers/ieee1394/ohci1394.c
++++ b/drivers/ieee1394/ohci1394.c
+@@ -3773,7 +3773,5 @@ static int __init ohci1394_init(void)
+ 	return pci_register_driver(&ohci1394_pci_driver);
+ }
+ 
+-/* Register before most other device drivers.
+- * Useful for remote debugging via physical DMA, e.g. using firescope. */
+-fs_initcall(ohci1394_init);
++module_init(ohci1394_init);
+ module_exit(ohci1394_cleanup);
+diff --git a/drivers/media/dvb/b2c2/flexcop-i2c.c b/drivers/media/dvb/b2c2/flexcop-i2c.c
+index 02a0ea6..6bf858a 100644
+--- a/drivers/media/dvb/b2c2/flexcop-i2c.c
++++ b/drivers/media/dvb/b2c2/flexcop-i2c.c
+@@ -135,6 +135,13 @@ static int flexcop_master_xfer(struct i2c_adapter *i2c_adap, struct i2c_msg msgs
+ 	struct flexcop_device *fc = i2c_get_adapdata(i2c_adap);
+ 	int i, ret = 0;
+ 
++	/* Some drivers use 1 byte or 0 byte reads as probes, which this
++	 * driver doesn't support.  These probes will always fail, so this
++	 * hack makes them always succeed.  If one knew how, it would of
++	 * course be better to actually do the read.  */
++	if (num == 1 && msgs[0].flags == I2C_M_RD && msgs[0].len <= 1)
++		return 1;
++
+ 	if (mutex_lock_interruptible(&fc->i2c_mutex))
+ 		return -ERESTARTSYS;
+ 
+diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
+index 543b05e..c36e2b7 100644
+--- a/drivers/media/video/cx88/cx88-mpeg.c
++++ b/drivers/media/video/cx88/cx88-mpeg.c
+@@ -580,7 +580,7 @@ struct cx8802_dev * cx8802_get_device(struct inode *inode)
+ 
+ 	list_for_each(list,&cx8802_devlist) {
+ 		h = list_entry(list, struct cx8802_dev, devlist);
+-		if (h->mpeg_dev->minor == minor)
++		if (h->mpeg_dev && h->mpeg_dev->minor == minor)
+ 			return h;
+ 	}
+ 
+diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c
+index 57af176..dcfbaa9 100644
+--- a/drivers/media/video/ivtv/ivtv-ioctl.c
++++ b/drivers/media/video/ivtv/ivtv-ioctl.c
+@@ -1183,6 +1183,7 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
+ 		itv->osd_global_alpha_state = (fb->flags & V4L2_FBUF_FLAG_GLOBAL_ALPHA) != 0;
+ 		itv->osd_local_alpha_state = (fb->flags & V4L2_FBUF_FLAG_LOCAL_ALPHA) != 0;
+ 		itv->osd_color_key_state = (fb->flags & V4L2_FBUF_FLAG_CHROMAKEY) != 0;
++		ivtv_set_osd_alpha(itv);
+ 		break;
+ 	}
+ 
+diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
+index cd3d001..5227978 100644
+--- a/drivers/media/video/pwc/pwc-if.c
++++ b/drivers/media/video/pwc/pwc-if.c
+@@ -1243,7 +1243,7 @@ static int pwc_video_close(struct inode *inode, struct file *file)
+ 				PWC_ERROR("Failed to power down camera (%d)\n", i);
+ 		}
+ 		pdev->vopen--;
+-		PWC_DEBUG_OPEN("<< video_close() vopen=%d\n", i);
++		PWC_DEBUG_OPEN("<< video_close() vopen=%d\n", pdev->vopen);
+ 	} else {
+ 		pwc_cleanup(pdev);
+ 		/* Free memory (don't set pdev to 0 just yet) */
+diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
+index 451adcc..6d958a4 100644
+--- a/drivers/mtd/Makefile
++++ b/drivers/mtd/Makefile
+@@ -3,9 +3,9 @@
+ #
+ 
+ # Core functionality.
++obj-$(CONFIG_MTD)		+= mtd.o
+ mtd-y				:= mtdcore.o mtdsuper.o
+ mtd-$(CONFIG_MTD_PARTITIONS)	+= mtdpart.o
+-obj-$(CONFIG_MTD)		+= $(mtd-y)
+ 
+ obj-$(CONFIG_MTD_CONCAT)	+= mtdconcat.o
+ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index 9c62368..6174a97 100644
+--- a/drivers/mtd/mtdpart.c
++++ b/drivers/mtd/mtdpart.c
+@@ -560,7 +560,3 @@ int parse_mtd_partitions(struct mtd_info *master, const char **types,
+ EXPORT_SYMBOL_GPL(parse_mtd_partitions);
+ EXPORT_SYMBOL_GPL(register_mtd_parser);
+ EXPORT_SYMBOL_GPL(deregister_mtd_parser);
+-
+-MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Nicolas Pitre <nico at cam.org>");
+-MODULE_DESCRIPTION("Generic support for partitioning of MTD devices");
+diff --git a/drivers/mtd/mtdsuper.c b/drivers/mtd/mtdsuper.c
+index aca3319..9b430f2 100644
+--- a/drivers/mtd/mtdsuper.c
++++ b/drivers/mtd/mtdsuper.c
+@@ -70,6 +70,8 @@ static int get_sb_mtd_aux(struct file_system_type *fs_type, int flags,
+ 	DEBUG(1, "MTDSB: New superblock for device %d (\"%s\")\n",
+ 	      mtd->index, mtd->name);
+ 
++	sb->s_flags = flags;
++
+ 	ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
+ 	if (ret < 0) {
+ 		up_write(&sb->s_umount);
+diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
+index 4a7b5f4..765fb75 100644
+--- a/drivers/net/forcedeth.c
++++ b/drivers/net/forcedeth.c
+@@ -551,7 +551,7 @@ union ring_type {
+ #define PHY_OUI_MARVELL	0x5043
+ #define PHY_OUI_CICADA	0x03f1
+ #define PHY_OUI_VITESSE	0x01c1
+-#define PHY_OUI_REALTEK	0x01c1
++#define PHY_OUI_REALTEK	0x0732
+ #define PHYID1_OUI_MASK	0x03ff
+ #define PHYID1_OUI_SHFT	6
+ #define PHYID2_OUI_MASK	0xfc00
+diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+index ef6b253..dadee85 100644
+--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
++++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+@@ -3183,6 +3183,9 @@ static void bcm43xx_periodic_work_handler(struct work_struct *work)
+ 	unsigned long orig_trans_start = 0;
+ 
+ 	mutex_lock(&bcm->mutex);
++	/* keep from doing and rearming periodic work if shutting down */
++	if (bcm43xx_status(bcm) == BCM43xx_STAT_UNINIT)
++		goto unlock_mutex;
+ 	if (unlikely(bcm->periodic_state % 60 == 0)) {
+ 		/* Periodic work will take a long time, so we want it to
+ 		 * be preemtible.
+@@ -3228,14 +3231,10 @@ static void bcm43xx_periodic_work_handler(struct work_struct *work)
+ 	mmiowb();
+ 	bcm->periodic_state++;
+ 	spin_unlock_irqrestore(&bcm->irq_lock, flags);
++unlock_mutex:
+ 	mutex_unlock(&bcm->mutex);
+ }
+ 
+-void bcm43xx_periodic_tasks_delete(struct bcm43xx_private *bcm)
+-{
+-	cancel_rearming_delayed_work(&bcm->periodic_work);
+-}
+-
+ void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm)
+ {
+ 	struct delayed_work *work = &bcm->periodic_work;
+@@ -3285,6 +3284,14 @@ static int bcm43xx_rng_init(struct bcm43xx_private *bcm)
+ 	return err;
+ }
+ 
++void bcm43xx_cancel_work(struct bcm43xx_private *bcm)
++{
++	/* The system must be unlocked when this routine is entered.
++	 * If not, the next 2 steps may deadlock */
++	cancel_work_sync(&bcm->restart_work);
++	cancel_rearming_delayed_work(&bcm->periodic_work);
++}
++
+ static int bcm43xx_shutdown_all_wireless_cores(struct bcm43xx_private *bcm)
+ {
+ 	int ret = 0;
+@@ -3321,7 +3328,12 @@ static void bcm43xx_free_board(struct bcm43xx_private *bcm)
+ {
+ 	bcm43xx_rng_exit(bcm);
+ 	bcm43xx_sysfs_unregister(bcm);
+-	bcm43xx_periodic_tasks_delete(bcm);
++
++	mutex_lock(&(bcm)->mutex);
++	bcm43xx_set_status(bcm, BCM43xx_STAT_UNINIT);
++	mutex_unlock(&(bcm)->mutex);
++
++	bcm43xx_cancel_work(bcm);
+ 
+ 	mutex_lock(&(bcm)->mutex);
+ 	bcm43xx_shutdown_all_wireless_cores(bcm);
+@@ -4018,7 +4030,7 @@ static int bcm43xx_net_stop(struct net_device *net_dev)
+ 	err = bcm43xx_disable_interrupts_sync(bcm);
+ 	assert(!err);
+ 	bcm43xx_free_board(bcm);
+-	flush_scheduled_work();
++	bcm43xx_cancel_work(bcm);
+ 
+ 	return 0;
+ }
+@@ -4150,9 +4162,9 @@ static void bcm43xx_chip_reset(struct work_struct *work)
+ 	struct bcm43xx_phyinfo *phy;
+ 	int err = -ENODEV;
+ 
++	bcm43xx_cancel_work(bcm);
+ 	mutex_lock(&(bcm)->mutex);
+ 	if (bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED) {
+-		bcm43xx_periodic_tasks_delete(bcm);
+ 		phy = bcm43xx_current_phy(bcm);
+ 		err = bcm43xx_select_wireless_core(bcm, phy->type);
+ 		if (!err)
+diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.h b/drivers/net/wireless/bcm43xx/bcm43xx_main.h
+index c8f3c53..14cfbeb 100644
+--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.h
++++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.h
+@@ -122,7 +122,7 @@ void bcm43xx_wireless_core_reset(struct bcm43xx_private *bcm, int connect_phy);
+ void bcm43xx_mac_suspend(struct bcm43xx_private *bcm);
+ void bcm43xx_mac_enable(struct bcm43xx_private *bcm);
+ 
+-void bcm43xx_periodic_tasks_delete(struct bcm43xx_private *bcm);
++void bcm43xx_cancel_work(struct bcm43xx_private *bcm);
+ void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm);
+ 
+ void bcm43xx_controller_restart(struct bcm43xx_private *bcm, const char *reason);
+diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c b/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c
+index c71b998..8ab5f93 100644
+--- a/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c
++++ b/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c
+@@ -327,7 +327,7 @@ static ssize_t bcm43xx_attr_phymode_store(struct device *dev,
+ 		goto out;
+ 	}
+ 
+-	bcm43xx_periodic_tasks_delete(bcm);
++	bcm43xx_cancel_work(bcm);
+ 	mutex_lock(&(bcm)->mutex);
+ 	err = bcm43xx_select_wireless_core(bcm, phytype);
+ 	if (!err)
+diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
+index eb766c3..0d24c39 100644
+--- a/drivers/scsi/3w-9xxx.c
++++ b/drivers/scsi/3w-9xxx.c
+@@ -4,7 +4,7 @@
+    Written By: Adam Radford <linuxraid at amcc.com>
+    Modifications By: Tom Couch <linuxraid at amcc.com>
+ 
+-   Copyright (C) 2004-2006 Applied Micro Circuits Corporation.
++   Copyright (C) 2004-2007 Applied Micro Circuits Corporation.
+ 
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+@@ -69,6 +69,7 @@
+    2.26.02.008 - Free irq handler in __twa_shutdown().
+                  Serialize reset code.
+                  Add support for 9650SE controllers.
++   2.26.02.009 - Fix dma mask setting to fallback to 32-bit if 64-bit fails.
+ */
+ 
+ #include <linux/module.h>
+@@ -92,7 +93,7 @@
+ #include "3w-9xxx.h"
+ 
+ /* Globals */
+-#define TW_DRIVER_VERSION "2.26.02.008"
++#define TW_DRIVER_VERSION "2.26.02.009"
+ static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
+ static unsigned int twa_device_extension_count;
+ static int twa_major = -1;
+@@ -2063,11 +2064,14 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
+ 
+ 	pci_set_master(pdev);
+ 
+-	retval = pci_set_dma_mask(pdev, sizeof(dma_addr_t) > 4 ? DMA_64BIT_MASK : DMA_32BIT_MASK);
+-	if (retval) {
+-		TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask");
+-		goto out_disable_device;
+-	}
++	if (pci_set_dma_mask(pdev, DMA_64BIT_MASK)
++	    || pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))
++		if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)
++		    || pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK)) {
++			TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask");
++			retval = -ENODEV;
++			goto out_disable_device;
++		}
+ 
+ 	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension));
+ 	if (!host) {
+diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
+index 2619986..61699f7 100644
+--- a/drivers/usb/core/driver.c
++++ b/drivers/usb/core/driver.c
+@@ -58,7 +58,7 @@ ssize_t usb_store_new_id(struct usb_dynids *dynids,
+ 	dynid->id.match_flags = USB_DEVICE_ID_MATCH_DEVICE;
+ 
+ 	spin_lock(&dynids->lock);
+-	list_add_tail(&dynids->list, &dynid->node);
++	list_add_tail(&dynid->node, &dynids->list);
+ 	spin_unlock(&dynids->lock);
+ 
+ 	if (get_driver(driver)) {
+diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c
+index a3684dc..6f8c96f 100644
+--- a/fs/afs/mntpt.c
++++ b/fs/afs/mntpt.c
+@@ -235,8 +235,8 @@ static void *afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd)
+ 	err = do_add_mount(newmnt, nd, MNT_SHRINKABLE, &afs_vfsmounts);
+ 	switch (err) {
+ 	case 0:
+-		mntput(nd->mnt);
+ 		dput(nd->dentry);
++		mntput(nd->mnt);
+ 		nd->mnt = newmnt;
+ 		nd->dentry = dget(newmnt->mnt_root);
+ 		schedule_delayed_work(&afs_mntpt_expiry_timer,
+diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c
+index 9bb046d..e54eb5f 100644
+--- a/fs/ext3/namei.c
++++ b/fs/ext3/namei.c
+@@ -140,7 +140,8 @@ struct dx_frame
+ struct dx_map_entry
+ {
+ 	u32 hash;
+-	u32 offs;
++	u16 offs;
++	u16 size;
+ };
+ 
+ #ifdef CONFIG_EXT3_INDEX
+@@ -379,13 +380,28 @@ dx_probe(struct dentry *dentry, struct inode *dir,
+ 
+ 	entries = (struct dx_entry *) (((char *)&root->info) +
+ 				       root->info.info_length);
+-	assert(dx_get_limit(entries) == dx_root_limit(dir,
+-						      root->info.info_length));
++
++	if (dx_get_limit(entries) != dx_root_limit(dir,
++						   root->info.info_length)) {
++		ext3_warning(dir->i_sb, __FUNCTION__,
++			     "dx entry: limit != root limit");
++		brelse(bh);
++		*err = ERR_BAD_DX_DIR;
++		goto fail;
++	}
++
+ 	dxtrace (printk("Look up %x", hash));
+ 	while (1)
+ 	{
+ 		count = dx_get_count(entries);
+-		assert (count && count <= dx_get_limit(entries));
++		if (!count || count > dx_get_limit(entries)) {
++			ext3_warning(dir->i_sb, __FUNCTION__,
++				     "dx entry: no count or count > limit");
++			brelse(bh);
++			*err = ERR_BAD_DX_DIR;
++			goto fail2;
++		}
++
+ 		p = entries + 1;
+ 		q = entries + count - 1;
+ 		while (p <= q)
+@@ -423,8 +439,15 @@ dx_probe(struct dentry *dentry, struct inode *dir,
+ 		if (!(bh = ext3_bread (NULL,dir, dx_get_block(at), 0, err)))
+ 			goto fail2;
+ 		at = entries = ((struct dx_node *) bh->b_data)->entries;
+-		assert (dx_get_limit(entries) == dx_node_limit (dir));
++		if (dx_get_limit(entries) != dx_node_limit (dir)) {
++			ext3_warning(dir->i_sb, __FUNCTION__,
++				     "dx entry: limit != node limit");
++			brelse(bh);
++			*err = ERR_BAD_DX_DIR;
++			goto fail2;
++		}
+ 		frame++;
++		frame->bh = NULL;
+ 	}
+ fail2:
+ 	while (frame >= frame_in) {
+@@ -432,6 +455,10 @@ fail2:
+ 		frame--;
+ 	}
+ fail:
++	if (*err == ERR_BAD_DX_DIR)
++		ext3_warning(dir->i_sb, __FUNCTION__,
++			     "Corrupt dir inode %ld, running e2fsck is "
++			     "recommended.", dir->i_ino);
+ 	return NULL;
+ }
+ 
+@@ -671,6 +698,10 @@ errout:
+  * Directory block splitting, compacting
+  */
+ 
++/*
++ * Create map of hash values, offsets, and sizes, stored at end of block.
++ * Returns number of entries mapped.
++ */
+ static int dx_make_map (struct ext3_dir_entry_2 *de, int size,
+ 			struct dx_hash_info *hinfo, struct dx_map_entry *map_tail)
+ {
+@@ -684,7 +715,8 @@ static int dx_make_map (struct ext3_dir_entry_2 *de, int size,
+ 			ext3fs_dirhash(de->name, de->name_len, &h);
+ 			map_tail--;
+ 			map_tail->hash = h.hash;
+-			map_tail->offs = (u32) ((char *) de - base);
++			map_tail->offs = (u16) ((char *) de - base);
++			map_tail->size = le16_to_cpu(de->rec_len);
+ 			count++;
+ 			cond_resched();
+ 		}
+@@ -694,6 +726,7 @@ static int dx_make_map (struct ext3_dir_entry_2 *de, int size,
+ 	return count;
+ }
+ 
++/* Sort map by hash value */
+ static void dx_sort_map (struct dx_map_entry *map, unsigned count)
+ {
+         struct dx_map_entry *p, *q, *top = map + count - 1;
+@@ -1081,6 +1114,10 @@ static inline void ext3_set_de_type(struct super_block *sb,
+ }
+ 
+ #ifdef CONFIG_EXT3_INDEX
++/*
++ * Move count entries from end of map between two memory locations.
++ * Returns pointer to last entry moved.
++ */
+ static struct ext3_dir_entry_2 *
+ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count)
+ {
+@@ -1099,6 +1136,10 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count)
+ 	return (struct ext3_dir_entry_2 *) (to - rec_len);
+ }
+ 
++/*
++ * Compact each dir entry in the range to the minimal rec_len.
++ * Returns pointer to last entry in range.
++ */
+ static struct ext3_dir_entry_2* dx_pack_dirents(char *base, int size)
+ {
+ 	struct ext3_dir_entry_2 *next, *to, *prev, *de = (struct ext3_dir_entry_2 *) base;
+@@ -1121,6 +1162,11 @@ static struct ext3_dir_entry_2* dx_pack_dirents(char *base, int size)
+ 	return prev;
+ }
+ 
++/*
++ * Split a full leaf block to make room for a new dir entry.
++ * Allocate a new block, and move entries so that they are approx. equally full.
++ * Returns pointer to de in block into which the new entry will be inserted.
++ */
+ static struct ext3_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 			struct buffer_head **bh,struct dx_frame *frame,
+ 			struct dx_hash_info *hinfo, int *error)
+@@ -1132,7 +1178,7 @@ static struct ext3_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 	u32 hash2;
+ 	struct dx_map_entry *map;
+ 	char *data1 = (*bh)->b_data, *data2;
+-	unsigned split;
++	unsigned split, move, size, i;
+ 	struct ext3_dir_entry_2 *de = NULL, *de2;
+ 	int	err = 0;
+ 
+@@ -1160,8 +1206,19 @@ static struct ext3_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 	count = dx_make_map ((struct ext3_dir_entry_2 *) data1,
+ 			     blocksize, hinfo, map);
+ 	map -= count;
+-	split = count/2; // need to adjust to actual middle
+ 	dx_sort_map (map, count);
++	/* Split the existing block in the middle, size-wise */
++	size = 0;
++	move = 0;
++	for (i = count-1; i >= 0; i--) {
++		/* is more than half of this entry in 2nd half of the block? */
++		if (size + map[i].size/2 > blocksize/2)
++			break;
++		size += map[i].size;
++		move++;
++	}
++	/* map index at which we will split */
++	split = count - move;
+ 	hash2 = map[split].hash;
+ 	continued = hash2 == map[split - 1].hash;
+ 	dxtrace(printk("Split block %i at %x, %i/%i\n",
+diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
+index 2811e57..7bb8d7c 100644
+--- a/fs/ext4/namei.c
++++ b/fs/ext4/namei.c
+@@ -140,7 +140,8 @@ struct dx_frame
+ struct dx_map_entry
+ {
+ 	u32 hash;
+-	u32 offs;
++	u16 offs;
++	u16 size;
+ };
+ 
+ #ifdef CONFIG_EXT4_INDEX
+@@ -379,13 +380,28 @@ dx_probe(struct dentry *dentry, struct inode *dir,
+ 
+ 	entries = (struct dx_entry *) (((char *)&root->info) +
+ 				       root->info.info_length);
+-	assert(dx_get_limit(entries) == dx_root_limit(dir,
+-						      root->info.info_length));
++
++	if (dx_get_limit(entries) != dx_root_limit(dir,
++						   root->info.info_length)) {
++		ext4_warning(dir->i_sb, __FUNCTION__,
++			     "dx entry: limit != root limit");
++		brelse(bh);
++		*err = ERR_BAD_DX_DIR;
++		goto fail;
++	}
++
+ 	dxtrace (printk("Look up %x", hash));
+ 	while (1)
+ 	{
+ 		count = dx_get_count(entries);
+-		assert (count && count <= dx_get_limit(entries));
++		if (!count || count > dx_get_limit(entries)) {
++			ext4_warning(dir->i_sb, __FUNCTION__,
++				     "dx entry: no count or count > limit");
++			brelse(bh);
++			*err = ERR_BAD_DX_DIR;
++			goto fail2;
++		}
++
+ 		p = entries + 1;
+ 		q = entries + count - 1;
+ 		while (p <= q)
+@@ -423,8 +439,15 @@ dx_probe(struct dentry *dentry, struct inode *dir,
+ 		if (!(bh = ext4_bread (NULL,dir, dx_get_block(at), 0, err)))
+ 			goto fail2;
+ 		at = entries = ((struct dx_node *) bh->b_data)->entries;
+-		assert (dx_get_limit(entries) == dx_node_limit (dir));
++		if (dx_get_limit(entries) != dx_node_limit (dir)) {
++			ext4_warning(dir->i_sb, __FUNCTION__,
++				     "dx entry: limit != node limit");
++			brelse(bh);
++			*err = ERR_BAD_DX_DIR;
++			goto fail2;
++		}
+ 		frame++;
++		frame->bh = NULL;
+ 	}
+ fail2:
+ 	while (frame >= frame_in) {
+@@ -432,6 +455,10 @@ fail2:
+ 		frame--;
+ 	}
+ fail:
++	if (*err == ERR_BAD_DX_DIR)
++		ext4_warning(dir->i_sb, __FUNCTION__,
++			     "Corrupt dir inode %ld, running e2fsck is "
++			     "recommended.", dir->i_ino);
+ 	return NULL;
+ }
+ 
+@@ -671,6 +698,10 @@ errout:
+  * Directory block splitting, compacting
+  */
+ 
++/*
++ * Create map of hash values, offsets, and sizes, stored at end of block.
++ * Returns number of entries mapped.
++ */
+ static int dx_make_map (struct ext4_dir_entry_2 *de, int size,
+ 			struct dx_hash_info *hinfo, struct dx_map_entry *map_tail)
+ {
+@@ -684,7 +715,8 @@ static int dx_make_map (struct ext4_dir_entry_2 *de, int size,
+ 			ext4fs_dirhash(de->name, de->name_len, &h);
+ 			map_tail--;
+ 			map_tail->hash = h.hash;
+-			map_tail->offs = (u32) ((char *) de - base);
++			map_tail->offs = (u16) ((char *) de - base);
++			map_tail->size = le16_to_cpu(de->rec_len);
+ 			count++;
+ 			cond_resched();
+ 		}
+@@ -694,6 +726,7 @@ static int dx_make_map (struct ext4_dir_entry_2 *de, int size,
+ 	return count;
+ }
+ 
++/* Sort map by hash value */
+ static void dx_sort_map (struct dx_map_entry *map, unsigned count)
+ {
+ 	struct dx_map_entry *p, *q, *top = map + count - 1;
+@@ -1079,6 +1112,10 @@ static inline void ext4_set_de_type(struct super_block *sb,
+ }
+ 
+ #ifdef CONFIG_EXT4_INDEX
++/*
++ * Move count entries from end of map between two memory locations.
++ * Returns pointer to last entry moved.
++ */
+ static struct ext4_dir_entry_2 *
+ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count)
+ {
+@@ -1097,6 +1134,10 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count)
+ 	return (struct ext4_dir_entry_2 *) (to - rec_len);
+ }
+ 
++/*
++ * Compact each dir entry in the range to the minimal rec_len.
++ * Returns pointer to last entry in range.
++ */
+ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, int size)
+ {
+ 	struct ext4_dir_entry_2 *next, *to, *prev, *de = (struct ext4_dir_entry_2 *) base;
+@@ -1119,6 +1160,11 @@ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, int size)
+ 	return prev;
+ }
+ 
++/*
++ * Split a full leaf block to make room for a new dir entry.
++ * Allocate a new block, and move entries so that they are approx. equally full.
++ * Returns pointer to de in block into which the new entry will be inserted.
++ */
+ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 			struct buffer_head **bh,struct dx_frame *frame,
+ 			struct dx_hash_info *hinfo, int *error)
+@@ -1130,7 +1176,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 	u32 hash2;
+ 	struct dx_map_entry *map;
+ 	char *data1 = (*bh)->b_data, *data2;
+-	unsigned split;
++	unsigned split, move, size, i;
+ 	struct ext4_dir_entry_2 *de = NULL, *de2;
+ 	int	err = 0;
+ 
+@@ -1158,8 +1204,19 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+ 	count = dx_make_map ((struct ext4_dir_entry_2 *) data1,
+ 			     blocksize, hinfo, map);
+ 	map -= count;
+-	split = count/2; // need to adjust to actual middle
+ 	dx_sort_map (map, count);
++	/* Split the existing block in the middle, size-wise */
++	size = 0;
++	move = 0;
++	for (i = count-1; i >= 0; i--) {
++		/* is more than half of this entry in 2nd half of the block? */
++		if (size + map[i].size/2 > blocksize/2)
++			break;
++		size += map[i].size;
++		move++;
++	}
++	/* map index at which we will split */
++	split = count - move;
+ 	hash2 = map[split].hash;
+ 	continued = hash2 == map[split - 1].hash;
+ 	dxtrace(printk("Split block %i at %x, %i/%i\n",
+diff --git a/fs/jffs2/fs.c b/fs/jffs2/fs.c
+index 1d3b7a9..8bc727b 100644
+--- a/fs/jffs2/fs.c
++++ b/fs/jffs2/fs.c
+@@ -627,7 +627,7 @@ unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c,
+ 	struct inode *inode = OFNI_EDONI_2SFFJ(f);
+ 	struct page *pg;
+ 
+-	pg = read_cache_page(inode->i_mapping, offset >> PAGE_CACHE_SHIFT,
++	pg = read_cache_page_async(inode->i_mapping, offset >> PAGE_CACHE_SHIFT,
+ 			     (void *)jffs2_do_readpage_unlock, inode);
+ 	if (IS_ERR(pg))
+ 		return (void *)pg;
+diff --git a/fs/locks.c b/fs/locks.c
+index 431a8b8..6428605 100644
+--- a/fs/locks.c
++++ b/fs/locks.c
+@@ -786,7 +786,7 @@ find_conflict:
+ 	if (request->fl_flags & FL_ACCESS)
+ 		goto out;
+ 	locks_copy_lock(new_fl, request);
+-	locks_insert_lock(&inode->i_flock, new_fl);
++	locks_insert_lock(before, new_fl);
+ 	new_fl = NULL;
+ 	error = 0;
+ 
+diff --git a/fs/nfs/super.c b/fs/nfs/super.c
+index ca20d3c..6a5bd0d 100644
+--- a/fs/nfs/super.c
++++ b/fs/nfs/super.c
+@@ -181,8 +181,8 @@ void __exit unregister_nfs_fs(void)
+ 		remove_shrinker(acl_shrinker);
+ #ifdef CONFIG_NFS_V4
+ 	unregister_filesystem(&nfs4_fs_type);
+-	nfs_unregister_sysctl();
+ #endif
++	nfs_unregister_sysctl();
+ 	unregister_filesystem(&nfs_fs_type);
+ }
+ 
+diff --git a/fs/splice.c b/fs/splice.c
+index d3c6668..e263d3b 100644
+--- a/fs/splice.c
++++ b/fs/splice.c
+@@ -1011,7 +1011,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+ 		max_read_len = min(len, (size_t)(PIPE_BUFFERS*PAGE_SIZE));
+ 
+ 		ret = do_splice_to(in, ppos, pipe, max_read_len, flags);
+-		if (unlikely(ret < 0))
++		if (unlikely(ret <= 0))
+ 			goto out_release;
+ 
+ 		read_len = ret;
+@@ -1023,7 +1023,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+ 		 */
+ 		ret = do_splice_from(pipe, out, &out_off, read_len,
+ 				     flags & ~SPLICE_F_NONBLOCK);
+-		if (unlikely(ret < 0))
++		if (unlikely(ret <= 0))
+ 			goto out_release;
+ 
+ 		bytes += ret;
+diff --git a/include/linux/Kbuild b/include/linux/Kbuild
+index b9c4d9e..d86711d 100644
+--- a/include/linux/Kbuild
++++ b/include/linux/Kbuild
+@@ -7,6 +7,7 @@ header-y += raid/
+ header-y += spi/
+ header-y += sunrpc/
+ header-y += tc_act/
++header-y += tc_ematch/
+ header-y += netfilter/
+ header-y += netfilter_arp/
+ header-y += netfilter_bridge/
+diff --git a/init/Kconfig b/init/Kconfig
+index a9e99f8..5f8dba9 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -505,6 +505,7 @@ config SIGNALFD
+ config TIMERFD
+ 	bool "Enable timerfd() system call" if EMBEDDED
+ 	depends on ANON_INODES
++	depends on BROKEN
+ 	default y
+ 	help
+ 	  Enable the timerfd() system call that allows to receive timer
+diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
+index f792136..7e52eb0 100644
+--- a/kernel/futex_compat.c
++++ b/kernel/futex_compat.c
+@@ -61,10 +61,10 @@ void compat_exit_robust_list(struct task_struct *curr)
+ 	if (fetch_robust_entry(&upending, &pending,
+ 			       &head->list_op_pending, &pip))
+ 		return;
+-	if (upending)
++	if (pending)
+ 		handle_futex_death((void __user *)pending + futex_offset, curr, pip);
+ 
+-	while (compat_ptr(uentry) != &head->list) {
++	while (entry != (struct robust_list __user *) &head->list) {
+ 		/*
+ 		 * A pending lock might already be on the list, so
+ 		 * dont process it twice:
+diff --git a/kernel/signal.c b/kernel/signal.c
+index d625195..5c48ab2 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -1259,20 +1259,19 @@ struct sigqueue *sigqueue_alloc(void)
+ void sigqueue_free(struct sigqueue *q)
+ {
+ 	unsigned long flags;
++	spinlock_t *lock = &current->sighand->siglock;
++
+ 	BUG_ON(!(q->flags & SIGQUEUE_PREALLOC));
+ 	/*
+ 	 * If the signal is still pending remove it from the
+-	 * pending queue.
++	 * pending queue. We must hold ->siglock while testing
++	 * q->list to serialize with collect_signal().
+ 	 */
+-	if (unlikely(!list_empty(&q->list))) {
+-		spinlock_t *lock = &current->sighand->siglock;
+-		read_lock(&tasklist_lock);
+-		spin_lock_irqsave(lock, flags);
+-		if (!list_empty(&q->list))
+-			list_del_init(&q->list);
+-		spin_unlock_irqrestore(lock, flags);
+-		read_unlock(&tasklist_lock);
+-	}
++	spin_lock_irqsave(lock, flags);
++	if (!list_empty(&q->list))
++		list_del_init(&q->list);
++	spin_unlock_irqrestore(lock, flags);
++
+ 	q->flags &= ~SIGQUEUE_PREALLOC;
+ 	__sigqueue_free(q);
+ }
+diff --git a/kernel/sys.c b/kernel/sys.c
+index 872271c..28e8364 100644
+--- a/kernel/sys.c
++++ b/kernel/sys.c
+@@ -1428,7 +1428,6 @@ asmlinkage long sys_times(struct tms __user * tbuf)
+  * Auch. Had to add the 'did_exec' flag to conform completely to POSIX.
+  * LBT 04.03.94
+  */
+-
+ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid)
+ {
+ 	struct task_struct *p;
+@@ -1456,7 +1455,7 @@ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid)
+ 	if (!thread_group_leader(p))
+ 		goto out;
+ 
+-	if (p->real_parent == group_leader) {
++	if (p->real_parent->tgid == group_leader->tgid) {
+ 		err = -EPERM;
+ 		if (task_session(p) != task_session(group_leader))
+ 			goto out;
+diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
+index ec46084..0642694 100644
+--- a/net/8021q/vlan_dev.c
++++ b/net/8021q/vlan_dev.c
+@@ -116,12 +116,22 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev,
+ 		  struct packet_type* ptype, struct net_device *orig_dev)
+ {
+ 	unsigned char *rawp = NULL;
+-	struct vlan_hdr *vhdr = (struct vlan_hdr *)(skb->data);
++	struct vlan_hdr *vhdr;
+ 	unsigned short vid;
+ 	struct net_device_stats *stats;
+ 	unsigned short vlan_TCI;
+ 	__be16 proto;
+ 
++	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
++		return -1;
++
++	if (unlikely(!pskb_may_pull(skb, VLAN_HLEN))) {
++		kfree_skb(skb);
++		return -1;
++	}
++
++	vhdr = (struct vlan_hdr *)(skb->data);
++
+ 	/* vlan_TCI = ntohs(get_unaligned(&vhdr->h_vlan_TCI)); */
+ 	vlan_TCI = ntohs(vhdr->h_vlan_TCI);
+ 
+diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
+index fa77987..3ee2022 100644
+--- a/net/bridge/br_netfilter.c
++++ b/net/bridge/br_netfilter.c
+@@ -509,8 +509,14 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
+ 				      int (*okfn)(struct sk_buff *))
+ {
+ 	struct iphdr *iph;
+-	__u32 len;
+ 	struct sk_buff *skb = *pskb;
++	__u32 len = nf_bridge_encap_header_len(skb);
++
++	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
++		return NF_STOLEN;
++
++	if (unlikely(!pskb_may_pull(skb, len)))
++		goto out;
+ 
+ 	if (skb->protocol == htons(ETH_P_IPV6) || IS_VLAN_IPV6(skb) ||
+ 	    IS_PPPOE_IPV6(skb)) {
+@@ -518,8 +524,6 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
+ 		if (!brnf_call_ip6tables)
+ 			return NF_ACCEPT;
+ #endif
+-		if ((skb = skb_share_check(*pskb, GFP_ATOMIC)) == NULL)
+-			goto out;
+ 		nf_bridge_pull_encap_header_rcsum(skb);
+ 		return br_nf_pre_routing_ipv6(hook, skb, in, out, okfn);
+ 	}
+@@ -532,8 +536,6 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
+ 	    !IS_PPPOE_IP(skb))
+ 		return NF_ACCEPT;
+ 
+-	if ((skb = skb_share_check(*pskb, GFP_ATOMIC)) == NULL)
+-		goto out;
+ 	nf_bridge_pull_encap_header_rcsum(skb);
+ 
+ 	if (!pskb_may_pull(skb, sizeof(struct iphdr)))
+diff --git a/net/core/datagram.c b/net/core/datagram.c
+index cb056f4..029b93e 100644
+--- a/net/core/datagram.c
++++ b/net/core/datagram.c
+@@ -450,6 +450,9 @@ int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
+ 	__wsum csum;
+ 	int chunk = skb->len - hlen;
+ 
++	if (!chunk)
++		return 0;
++
+ 	/* Skip filled elements.
+ 	 * Pretty silly, look at memcpy_toiovec, though 8)
+ 	 */
+diff --git a/net/core/pktgen.c b/net/core/pktgen.c
+index 9cd3a1c..33190c3 100644
+--- a/net/core/pktgen.c
++++ b/net/core/pktgen.c
+@@ -111,6 +111,9 @@
+  *
+  * 802.1Q/Q-in-Q support by Francesco Fondelli (FF) <francesco.fondelli at gmail.com>
+  *
++ * Fixed src_mac command to set source mac of packet to value specified in
++ * command by Adit Ranadive <adit.262 at gmail.com>
++ *
+  */
+ #include <linux/sys.h>
+ #include <linux/types.h>
+@@ -1415,8 +1418,11 @@ static ssize_t pktgen_if_write(struct file *file,
+ 	}
+ 	if (!strcmp(name, "src_mac")) {
+ 		char *v = valstr;
++		unsigned char old_smac[ETH_ALEN];
+ 		unsigned char *m = pkt_dev->src_mac;
+ 
++		memcpy(old_smac, pkt_dev->src_mac, ETH_ALEN);
++
+ 		len = strn_len(&user_buffer[i], sizeof(valstr) - 1);
+ 		if (len < 0) {
+ 			return len;
+@@ -1445,6 +1451,10 @@ static ssize_t pktgen_if_write(struct file *file,
+ 			}
+ 		}
+ 
++		/* Set up Src MAC */
++		if (compare_ether_addr(old_smac, pkt_dev->src_mac))
++			memcpy(&(pkt_dev->hh[6]), pkt_dev->src_mac, ETH_ALEN);
++
+ 		sprintf(pg_result, "OK: srcmac");
+ 		return count;
+ 	}
+diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
+index ab41c18..d46e453 100644
+--- a/net/decnet/dn_dev.c
++++ b/net/decnet/dn_dev.c
+@@ -815,7 +815,7 @@ static int dn_nl_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)
+ 		for (ifa = dn_db->ifa_list, dn_idx = 0; ifa;
+ 		     ifa = ifa->ifa_next, dn_idx++) {
+ 			if (dn_idx < skip_naddr)
+-				goto cont;
++				continue;
+ 
+ 			if (dn_nl_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
+ 					      cb->nlh->nlmsg_seq, RTM_NEWADDR,
+diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c
+index 6da8ff5..c79a24e 100644
+--- a/net/ipv4/ah4.c
++++ b/net/ipv4/ah4.c
+@@ -46,7 +46,7 @@ static int ip_clear_mutable_options(struct iphdr *iph, __be32 *daddr)
+ 			memcpy(daddr, optptr+optlen-4, 4);
+ 			/* Fall through */
+ 		default:
+-			memset(optptr+2, 0, optlen-2);
++			memset(optptr, 0, optlen);
+ 		}
+ 		l -= optlen;
+ 		optptr += optlen;
+diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
+index abf6352..0dcc245 100644
+--- a/net/ipv4/devinet.c
++++ b/net/ipv4/devinet.c
+@@ -1194,7 +1194,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)
+ 		for (ifa = in_dev->ifa_list, ip_idx = 0; ifa;
+ 		     ifa = ifa->ifa_next, ip_idx++) {
+ 			if (ip_idx < s_ip_idx)
+-				goto cont;
++				continue;
+ 			if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
+ 					     cb->nlh->nlmsg_seq,
+ 					     RTM_NEWADDR, NLM_F_MULTI) <= 0)
+diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
+index dbeacd8..def007e 100644
+--- a/net/ipv4/inet_diag.c
++++ b/net/ipv4/inet_diag.c
+@@ -836,12 +836,16 @@ static int inet_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	return inet_diag_get_exact(skb, nlh);
+ }
+ 
++static DEFINE_MUTEX(inet_diag_mutex);
++
+ static void inet_diag_rcv(struct sock *sk, int len)
+ {
+ 	unsigned int qlen = 0;
+ 
+ 	do {
++		mutex_lock(&inet_diag_mutex);
+ 		netlink_run_queue(sk, &qlen, &inet_diag_rcv_msg);
++		mutex_unlock(&inet_diag_mutex);
+ 	} while (qlen);
+ }
+ 
+diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
+index 13abf4e..5bfda70 100644
+--- a/net/ipv4/tcp_input.c
++++ b/net/ipv4/tcp_input.c
+@@ -102,11 +102,14 @@ int sysctl_tcp_abc __read_mostly;
+ #define FLAG_DATA_LOST		0x80 /* SACK detected data lossage.		*/
+ #define FLAG_SLOWPATH		0x100 /* Do not skip RFC checks for window update.*/
+ #define FLAG_ONLY_ORIG_SACKED	0x200 /* SACKs only non-rexmit sent before RTO */
++#define FLAG_SND_UNA_ADVANCED	0x400 /* Snd_una was changed (!= FLAG_DATA_ACKED) */
++#define FLAG_DSACKING_ACK	0x800 /* SACK blocks contained DSACK info */
+ 
+ #define FLAG_ACKED		(FLAG_DATA_ACKED|FLAG_SYN_ACKED)
+ #define FLAG_NOT_DUP		(FLAG_DATA|FLAG_WIN_UPDATE|FLAG_ACKED)
+ #define FLAG_CA_ALERT		(FLAG_DATA_SACKED|FLAG_ECE)
+ #define FLAG_FORWARD_PROGRESS	(FLAG_ACKED|FLAG_DATA_SACKED)
++#define FLAG_ANY_PROGRESS	(FLAG_FORWARD_PROGRESS|FLAG_SND_UNA_ADVANCED)
+ 
+ #define IsReno(tp) ((tp)->rx_opt.sack_ok == 0)
+ #define IsFack(tp) ((tp)->rx_opt.sack_ok & 2)
+@@ -964,12 +967,14 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_
+ 
+ 	/* Check for D-SACK. */
+ 	if (before(ntohl(sp[0].start_seq), TCP_SKB_CB(ack_skb)->ack_seq)) {
++		flag |= FLAG_DSACKING_ACK;
+ 		found_dup_sack = 1;
+ 		tp->rx_opt.sack_ok |= 4;
+ 		NET_INC_STATS_BH(LINUX_MIB_TCPDSACKRECV);
+ 	} else if (num_sacks > 1 &&
+ 			!after(ntohl(sp[0].end_seq), ntohl(sp[1].end_seq)) &&
+ 			!before(ntohl(sp[0].start_seq), ntohl(sp[1].start_seq))) {
++		flag |= FLAG_DSACKING_ACK;
+ 		found_dup_sack = 1;
+ 		tp->rx_opt.sack_ok |= 4;
+ 		NET_INC_STATS_BH(LINUX_MIB_TCPDSACKOFORECV);
+@@ -1856,7 +1861,7 @@ static void tcp_cwnd_down(struct sock *sk, int flag)
+ 	struct tcp_sock *tp = tcp_sk(sk);
+ 	int decr = tp->snd_cwnd_cnt + 1;
+ 
+-	if ((flag&FLAG_FORWARD_PROGRESS) ||
++	if ((flag&(FLAG_ANY_PROGRESS|FLAG_DSACKING_ACK)) ||
+ 	    (IsReno(tp) && !(flag&FLAG_NOT_DUP))) {
+ 		tp->snd_cwnd_cnt = decr&1;
+ 		decr >>= 1;
+@@ -2112,10 +2117,9 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una,
+ {
+ 	struct inet_connection_sock *icsk = inet_csk(sk);
+ 	struct tcp_sock *tp = tcp_sk(sk);
+-	int is_dupack = (tp->snd_una == prior_snd_una &&
+-			 (!(flag&FLAG_NOT_DUP) ||
+-			  ((flag&FLAG_DATA_SACKED) &&
+-			   (tp->fackets_out > tp->reordering))));
++	int is_dupack = !(flag&(FLAG_SND_UNA_ADVANCED|FLAG_NOT_DUP));
++	int do_lost = is_dupack || ((flag&FLAG_DATA_SACKED) &&
++				    (tp->fackets_out > tp->reordering));
+ 
+ 	/* Some technical things:
+ 	 * 1. Reno does not count dupacks (sacked_out) automatically. */
+@@ -2199,7 +2203,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una,
+ 			int acked = prior_packets - tp->packets_out;
+ 			if (IsReno(tp))
+ 				tcp_remove_reno_sacks(sk, acked);
+-			is_dupack = tcp_try_undo_partial(sk, acked);
++			do_lost = tcp_try_undo_partial(sk, acked);
+ 		}
+ 		break;
+ 	case TCP_CA_Loss:
+@@ -2264,7 +2268,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una,
+ 		tcp_set_ca_state(sk, TCP_CA_Recovery);
+ 	}
+ 
+-	if (is_dupack || tcp_head_timedout(sk))
++	if (do_lost || tcp_head_timedout(sk))
+ 		tcp_update_scoreboard(sk);
+ 	tcp_cwnd_down(sk, flag);
+ 	tcp_xmit_retransmit_queue(sk);
+@@ -2774,6 +2778,9 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag)
+ 	if (before(ack, prior_snd_una))
+ 		goto old_ack;
+ 
++	if (after(ack, prior_snd_una))
++		flag |= FLAG_SND_UNA_ADVANCED;
++
+ 	if (sysctl_tcp_abc) {
+ 		if (icsk->icsk_ca_state < TCP_CA_CWR)
+ 			tp->bytes_acked += ack - prior_snd_una;
+diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
+index 2cc3728..a908e50 100644
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
+@@ -1021,7 +1021,7 @@ int ipv6_dev_get_saddr(struct net_device *daddr_dev,
+ 				hiscore.rule++;
+ 			}
+ 			if (ipv6_saddr_preferred(score.addr_type) ||
+-			   (((ifa_result->flags &
++			   (((ifa->flags &
+ 			    (IFA_F_DEPRECATED|IFA_F_OPTIMISTIC)) == 0))) {
+ 				score.attrs |= IPV6_SADDR_SCORE_PREFERRED;
+ 				if (!(hiscore.attrs & IPV6_SADDR_SCORE_PREFERRED)) {
+diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
+index b9f9e93..4233a95 100644
+--- a/net/ipv6/ip6_output.c
++++ b/net/ipv6/ip6_output.c
+@@ -1423,8 +1423,9 @@ void ip6_flush_pending_frames(struct sock *sk)
+ 	struct sk_buff *skb;
+ 
+ 	while ((skb = __skb_dequeue_tail(&sk->sk_write_queue)) != NULL) {
+-		IP6_INC_STATS(ip6_dst_idev(skb->dst),
+-			      IPSTATS_MIB_OUTDISCARDS);
++		if (skb->dst)
++			IP6_INC_STATS(ip6_dst_idev(skb->dst),
++				      IPSTATS_MIB_OUTDISCARDS);
+ 		kfree_skb(skb);
+ 	}
+ 
+diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
+index 0358e60..73a894a 100644
+--- a/net/ipv6/ndisc.c
++++ b/net/ipv6/ndisc.c
+@@ -736,7 +736,7 @@ static void ndisc_recv_ns(struct sk_buff *skb)
+ 				 * so fail our DAD process
+ 				 */
+ 				addrconf_dad_failure(ifp);
+-				goto out;
++				return;
+ 			} else {
+ 				/*
+ 				 * This is not a dad solicitation.
+diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
+index a58459a..fc5cb83 100644
+--- a/net/ipv6/raw.c
++++ b/net/ipv6/raw.c
+@@ -858,11 +858,10 @@ back_from_confirm:
+ 			ip6_flush_pending_frames(sk);
+ 		else if (!(msg->msg_flags & MSG_MORE))
+ 			err = rawv6_push_pending_frames(sk, &fl, rp);
++		release_sock(sk);
+ 	}
+ done:
+ 	dst_release(dst);
+-	if (!inet->hdrincl)
+-		release_sock(sk);
+ out:
+ 	fl6_sock_release(flowlabel);
+ 	return err<0?err:len;
+diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
+index 5baf48d..80a0091 100644
+--- a/net/sunrpc/svcsock.c
++++ b/net/sunrpc/svcsock.c
+@@ -1090,7 +1090,8 @@ svc_tcp_accept(struct svc_sock *svsk)
+ 						   serv->sv_name);
+ 				printk(KERN_NOTICE
+ 				       "%s: last TCP connect from %s\n",
+-				       serv->sv_name, buf);
++				       serv->sv_name, __svc_print_addr(sin,
++							buf, sizeof(buf)));
+ 			}
+ 			/*
+ 			 * Always select the oldest socket. It's not fair,
+@@ -1572,7 +1573,8 @@ svc_age_temp_sockets(unsigned long closure)
+ 
+ 		if (!test_and_set_bit(SK_OLD, &svsk->sk_flags))
+ 			continue;
+-		if (atomic_read(&svsk->sk_inuse) || test_bit(SK_BUSY, &svsk->sk_flags))
++		if (atomic_read(&svsk->sk_inuse) > 1
++		    || test_bit(SK_BUSY, &svsk->sk_flags))
+ 			continue;
+ 		atomic_inc(&svsk->sk_inuse);
+ 		list_move(le, &to_be_aged);
+diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
+index 1199baf..45550d2 100644
+--- a/scripts/kconfig/conf.c
++++ b/scripts/kconfig/conf.c
+@@ -64,7 +64,7 @@ static void check_stdin(void)
+ 	}
+ }
+ 
+-static void conf_askvalue(struct symbol *sym, const char *def)
++static int conf_askvalue(struct symbol *sym, const char *def)
+ {
+ 	enum symbol_type type = sym_get_type(sym);
+ 	tristate val;
+@@ -79,7 +79,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
+ 		printf("%s\n", def);
+ 		line[0] = '\n';
+ 		line[1] = 0;
+-		return;
++		return 0;
+ 	}
+ 
+ 	switch (input_mode) {
+@@ -89,23 +89,23 @@ static void conf_askvalue(struct symbol *sym, const char *def)
+ 	case set_random:
+ 		if (sym_has_value(sym)) {
+ 			printf("%s\n", def);
+-			return;
++			return 0;
+ 		}
+ 		break;
+ 	case ask_new:
+ 	case ask_silent:
+ 		if (sym_has_value(sym)) {
+ 			printf("%s\n", def);
+-			return;
++			return 0;
+ 		}
+ 		check_stdin();
+ 	case ask_all:
+ 		fflush(stdout);
+ 		fgets(line, 128, stdin);
+-		return;
++		return 1;
+ 	case set_default:
+ 		printf("%s\n", def);
+-		return;
++		return 1;
+ 	default:
+ 		break;
+ 	}
+@@ -115,7 +115,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
+ 	case S_HEX:
+ 	case S_STRING:
+ 		printf("%s\n", def);
+-		return;
++		return 1;
+ 	default:
+ 		;
+ 	}
+@@ -166,6 +166,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
+ 		break;
+ 	}
+ 	printf("%s", line);
++	return 1;
+ }
+ 
+ int conf_string(struct menu *menu)
+@@ -179,7 +180,8 @@ int conf_string(struct menu *menu)
+ 		def = sym_get_string_value(sym);
+ 		if (sym_get_string_value(sym))
+ 			printf("[%s] ", def);
+-		conf_askvalue(sym, def);
++		if (!conf_askvalue(sym, def))
++			return 0;
+ 		switch (line[0]) {
+ 		case '\n':
+ 			break;
+@@ -236,7 +238,8 @@ static int conf_sym(struct menu *menu)
+ 		if (sym->help)
+ 			printf("/?");
+ 		printf("] ");
+-		conf_askvalue(sym, sym_get_string_value(sym));
++		if (!conf_askvalue(sym, sym_get_string_value(sym)))
++			return 0;
+ 		strip(line);
+ 
+ 		switch (line[0]) {

Copied: dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.4.patch (from r9611, /dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.3.patch)
==============================================================================
--- /dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.3.patch	(original)
+++ dists/sid/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.4.patch	Mon Oct  8 21:48:03 2007
@@ -1,5 +1,6 @@
---- linux-2.6.22.2/Documentation/vserver/debug.txt	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/Documentation/vserver/debug.txt	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/Documentation/vserver/debug.txt linux-2.6.22.9-vs2.2.0.4/Documentation/vserver/debug.txt
+--- linux-2.6.22.9/Documentation/vserver/debug.txt	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/Documentation/vserver/debug.txt	2007-06-15 02:37:02 +0200
 @@ -0,0 +1,154 @@
 +
 +debug_cvirt:
@@ -155,8 +156,9 @@
 + m 2^m	"vx_acc_page[%5d,%s,%2d]: %5d%s"
 +	"vx_acc_pages[%5d,%s,%2d]: %5d += %5d"
 +	"vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d"
---- linux-2.6.22.2/arch/alpha/Kconfig	2007-07-09 13:17:31 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/Kconfig	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/alpha/Kconfig
+--- linux-2.6.22.9/arch/alpha/Kconfig	2007-07-09 13:17:31 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/Kconfig	2007-06-15 02:37:02 +0200
 @@ -662,6 +662,8 @@ config DUMMY_CONSOLE
  	depends on VGA_HOSE
  	default y
@@ -166,8 +168,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/alpha/kernel/asm-offsets.c	2006-02-15 13:54:10 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/asm-offsets.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/asm-offsets.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/asm-offsets.c
+--- linux-2.6.22.9/arch/alpha/kernel/asm-offsets.c	2006-02-15 13:54:10 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/asm-offsets.c	2007-06-15 02:37:02 +0200
 @@ -36,6 +36,7 @@ void foo(void)
  	DEFINE(PT_PTRACED, PT_PTRACED);
  	DEFINE(CLONE_VM, CLONE_VM);
@@ -176,8 +179,9 @@
  	DEFINE(SIGCHLD, SIGCHLD);
  	BLANK();
  
---- linux-2.6.22.2/arch/alpha/kernel/entry.S	2007-07-09 13:17:31 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/entry.S	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/entry.S linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/entry.S
+--- linux-2.6.22.9/arch/alpha/kernel/entry.S	2007-07-09 13:17:31 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/entry.S	2007-06-15 02:37:02 +0200
 @@ -643,7 +643,7 @@ kernel_thread:
  	stq	$2, 152($sp)		/* HAE */
  
@@ -219,8 +223,9 @@
  	ret
  .end sys_getxpid
  
---- linux-2.6.22.2/arch/alpha/kernel/osf_sys.c	2007-07-09 13:17:31 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/osf_sys.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/osf_sys.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.22.9/arch/alpha/kernel/osf_sys.c	2007-07-09 13:17:31 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/osf_sys.c	2007-06-15 02:37:02 +0200
 @@ -883,7 +883,7 @@ osf_gettimeofday(struct timeval32 __user
  {
  	if (tv) {
@@ -230,8 +235,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/alpha/kernel/ptrace.c	2006-04-09 13:49:39 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/ptrace.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/ptrace.c
+--- linux-2.6.22.9/arch/alpha/kernel/ptrace.c	2006-04-09 13:49:39 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/ptrace.c	2007-06-15 02:37:02 +0200
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/security.h>
@@ -252,8 +258,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out;
---- linux-2.6.22.2/arch/alpha/kernel/semaphore.c	2004-08-14 12:55:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/semaphore.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/semaphore.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/semaphore.c
+--- linux-2.6.22.9/arch/alpha/kernel/semaphore.c	2004-08-14 12:55:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/semaphore.c	2007-06-15 02:37:02 +0200
 @@ -68,8 +68,8 @@ __down_failed(struct semaphore *sem)
  	DECLARE_WAITQUEUE(wait, tsk);
  
@@ -287,8 +294,9 @@
  #endif
  
  	tsk->state = TASK_INTERRUPTIBLE;
---- linux-2.6.22.2/arch/alpha/kernel/systbls.S	2007-07-09 13:17:31 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/systbls.S	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/systbls.S linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/systbls.S
+--- linux-2.6.22.9/arch/alpha/kernel/systbls.S	2007-07-09 13:17:31 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/systbls.S	2007-06-15 02:37:02 +0200
 @@ -446,7 +446,7 @@ sys_call_table:
  	.quad sys_stat64			/* 425 */
  	.quad sys_lstat64
@@ -298,8 +306,9 @@
  	.quad sys_ni_syscall			/* sys_mbind */
  	.quad sys_ni_syscall			/* sys_get_mempolicy */
  	.quad sys_ni_syscall			/* sys_set_mempolicy */
---- linux-2.6.22.2/arch/alpha/kernel/traps.c	2006-09-20 16:57:57 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/kernel/traps.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/traps.c
+--- linux-2.6.22.9/arch/alpha/kernel/traps.c	2006-09-20 16:57:57 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/kernel/traps.c	2007-06-15 02:37:02 +0200
 @@ -182,7 +182,8 @@ die_if_kernel(char * str, struct pt_regs
  #ifdef CONFIG_SMP
  	printk("CPU %d ", hard_smp_processor_id());
@@ -310,8 +319,9 @@
  	dik_show_regs(regs, r9_15);
  	dik_show_trace((unsigned long *)(regs+1));
  	dik_show_code((unsigned int *)regs->pc);
---- linux-2.6.22.2/arch/alpha/mm/fault.c	2007-07-09 13:17:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/alpha/mm/fault.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/alpha/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/alpha/mm/fault.c
+--- linux-2.6.22.9/arch/alpha/mm/fault.c	2007-07-09 13:17:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/alpha/mm/fault.c	2007-06-15 02:37:02 +0200
 @@ -197,8 +197,8 @@ do_page_fault(unsigned long address, uns
  		down_read(&mm->mmap_sem);
  		goto survive;
@@ -323,8 +333,9 @@
  	if (!user_mode(regs))
  		goto no_context;
  	do_exit(SIGKILL);
---- linux-2.6.22.2/arch/arm/Kconfig	2007-07-09 13:17:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm/Kconfig	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/arm/Kconfig
+--- linux-2.6.22.9/arch/arm/Kconfig	2007-07-09 13:17:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm/Kconfig	2007-06-15 02:37:02 +0200
 @@ -1042,6 +1042,8 @@ source "arch/arm/oprofile/Kconfig"
  
  source "arch/arm/Kconfig.debug"
@@ -334,8 +345,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/arm/kernel/calls.S	2007-07-09 13:17:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm/kernel/calls.S	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm/kernel/calls.S linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/calls.S
+--- linux-2.6.22.9/arch/arm/kernel/calls.S	2007-07-09 13:17:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/calls.S	2007-07-07 03:52:53 +0200
 @@ -322,7 +322,7 @@
  /* 310 */	CALL(sys_request_key)
  		CALL(sys_keyctl)
@@ -345,8 +357,9 @@
  		CALL(sys_ioprio_set)
  /* 315 */	CALL(sys_ioprio_get)
  		CALL(sys_inotify_init)
---- linux-2.6.22.2/arch/arm/kernel/process.c	2007-07-09 13:17:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm/kernel/process.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/process.c
+--- linux-2.6.22.9/arch/arm/kernel/process.c	2007-07-09 13:17:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/process.c	2007-07-07 03:52:53 +0200
 @@ -261,7 +261,8 @@ void __show_regs(struct pt_regs *regs)
  void show_regs(struct pt_regs * regs)
  {
@@ -367,8 +380,9 @@
  }
  EXPORT_SYMBOL(kernel_thread);
  
---- linux-2.6.22.2/arch/arm/kernel/traps.c	2007-07-09 13:17:32 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm/kernel/traps.c	2007-07-09 13:11:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/traps.c
+--- linux-2.6.22.9/arch/arm/kernel/traps.c	2007-07-09 13:17:32 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm/kernel/traps.c	2007-07-09 13:11:53 +0200
 @@ -222,8 +222,8 @@ static void __die(const char *str, int e
  	       str, err, ++die_counter);
  	print_modules();
@@ -380,8 +394,9 @@
  
  	if (!user_mode(regs) || in_interrupt()) {
  		dump_mem("Stack: ", regs->ARM_sp,
---- linux-2.6.22.2/arch/arm/mm/fault.c	2007-07-09 13:17:39 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm/mm/fault.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/arm/mm/fault.c
+--- linux-2.6.22.9/arch/arm/mm/fault.c	2007-07-09 13:17:39 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm/mm/fault.c	2007-06-15 02:37:02 +0200
 @@ -266,7 +266,8 @@ do_page_fault(unsigned long addr, unsign
  		 * happened to us that made us unable to handle
  		 * the page fault gracefully.
@@ -392,8 +407,9 @@
  		do_exit(SIGKILL);
  		return 0;
  
---- linux-2.6.22.2/arch/arm26/Kconfig	2007-07-09 13:17:40 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm26/Kconfig	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm26/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/arm26/Kconfig
+--- linux-2.6.22.9/arch/arm26/Kconfig	2007-07-09 13:17:40 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm26/Kconfig	2007-06-15 02:37:02 +0200
 @@ -243,6 +243,8 @@ source "drivers/usb/Kconfig"
  
  source "arch/arm26/Kconfig.debug"
@@ -403,8 +419,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/arm26/kernel/calls.S	2005-03-02 12:38:19 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm26/kernel/calls.S	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm26/kernel/calls.S linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/calls.S
+--- linux-2.6.22.9/arch/arm26/kernel/calls.S	2005-03-02 12:38:19 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/calls.S	2007-06-15 02:37:02 +0200
 @@ -257,6 +257,11 @@ __syscall_start:
  		.long	sys_lremovexattr
  		.long	sys_fremovexattr
@@ -417,8 +434,9 @@
  __syscall_end:
  
  		.rept	NR_syscalls - (__syscall_end - __syscall_start) / 4
---- linux-2.6.22.2/arch/arm26/kernel/process.c	2006-09-20 16:57:57 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm26/kernel/process.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm26/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/process.c
+--- linux-2.6.22.9/arch/arm26/kernel/process.c	2006-09-20 16:57:57 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/process.c	2007-06-15 02:37:02 +0200
 @@ -365,7 +365,8 @@ pid_t kernel_thread(int (*fn)(void *), v
          regs.ARM_r3 = (unsigned long)do_exit;
          regs.ARM_pc = (unsigned long)kernel_thread_helper | MODE_SVC26;
@@ -429,8 +447,9 @@
  }
  EXPORT_SYMBOL(kernel_thread);
  
---- linux-2.6.22.2/arch/arm26/kernel/traps.c	2006-09-20 16:57:57 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/arm26/kernel/traps.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/arm26/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/traps.c
+--- linux-2.6.22.9/arch/arm26/kernel/traps.c	2006-09-20 16:57:57 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/arm26/kernel/traps.c	2007-06-15 02:37:02 +0200
 @@ -185,8 +185,9 @@ NORET_TYPE void die(const char *str, str
  	printk("Internal error: %s: %x\n", str, err);
  	printk("CPU: %d\n", smp_processor_id());
@@ -443,8 +462,9 @@
  
  	if (!user_mode(regs) || in_interrupt()) {
  		__dump_stack(tsk, (unsigned long)(regs + 1));
---- linux-2.6.22.2/arch/cris/Kconfig	2007-05-02 19:24:19 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/cris/Kconfig	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/cris/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/cris/Kconfig
+--- linux-2.6.22.9/arch/cris/Kconfig	2007-05-02 19:24:19 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/cris/Kconfig	2007-06-15 02:37:02 +0200
 @@ -200,6 +200,8 @@ source "drivers/usb/Kconfig"
  
  source "arch/cris/Kconfig.debug"
@@ -454,8 +474,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/cris/arch-v10/kernel/process.c	2006-09-20 16:57:57 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/cris/arch-v10/kernel/process.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/cris/arch-v10/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/cris/arch-v10/kernel/process.c
+--- linux-2.6.22.9/arch/cris/arch-v10/kernel/process.c	2006-09-20 16:57:57 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/cris/arch-v10/kernel/process.c	2007-06-15 02:37:02 +0200
 @@ -103,7 +103,8 @@ int kernel_thread(int (*fn)(void *), voi
  	regs.dccr = 1 << I_DCCR_BITNR;
  
@@ -466,8 +487,9 @@
  }
  
  /* setup the child's kernel stack with a pt_regs and switch_stack on it.
---- linux-2.6.22.2/arch/cris/arch-v32/kernel/process.c	2006-09-20 16:57:57 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/cris/arch-v32/kernel/process.c	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/cris/arch-v32/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/cris/arch-v32/kernel/process.c
+--- linux-2.6.22.9/arch/cris/arch-v32/kernel/process.c	2006-09-20 16:57:57 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/cris/arch-v32/kernel/process.c	2007-06-15 02:37:02 +0200
 @@ -120,7 +120,8 @@ kernel_thread(int (*fn)(void *), void * 
  	regs.ccs = 1 << (I_CCS_BITNR + CCS_SHIFT);
  
@@ -478,8 +500,9 @@
  }
  
  /*
---- linux-2.6.22.2/arch/frv/kernel/kernel_thread.S	2005-03-02 12:38:20 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/frv/kernel/kernel_thread.S	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/frv/kernel/kernel_thread.S linux-2.6.22.9-vs2.2.0.4/arch/frv/kernel/kernel_thread.S
+--- linux-2.6.22.9/arch/frv/kernel/kernel_thread.S	2005-03-02 12:38:20 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/frv/kernel/kernel_thread.S	2007-06-15 02:37:02 +0200
 @@ -13,6 +13,8 @@
  #include <asm/unistd.h>
  
@@ -498,8 +521,9 @@
  	sethi.p		#0xe4e4,gr9		; second syscall arg	[newsp]
  	setlo		#0xe4e4,gr9
  	setlos.p	#0,gr10			; third syscall arg	[parent_tidptr]
---- linux-2.6.22.2/arch/h8300/Kconfig	2007-07-09 13:17:41 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/h8300/Kconfig	2007-06-15 02:37:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/h8300/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/h8300/Kconfig
+--- linux-2.6.22.9/arch/h8300/Kconfig	2007-07-09 13:17:41 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/h8300/Kconfig	2007-06-15 02:37:02 +0200
 @@ -222,6 +222,8 @@ source "fs/Kconfig"
  
  source "arch/h8300/Kconfig.debug"
@@ -509,8 +533,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/h8300/kernel/process.c	2006-09-20 16:57:58 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/h8300/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/h8300/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/h8300/kernel/process.c
+--- linux-2.6.22.9/arch/h8300/kernel/process.c	2006-09-20 16:57:58 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/h8300/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -134,7 +134,7 @@ int kernel_thread(int (*fn)(void *), voi
  
  	fs = get_fs();
@@ -520,8 +545,9 @@
  	__asm__("mov.l sp,er3\n\t"
  		"sub.l er2,er2\n\t"
  		"mov.l %2,er1\n\t"
---- linux-2.6.22.2/arch/i386/Kconfig	2007-07-09 13:17:41 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/Kconfig	2007-07-09 13:11:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/i386/Kconfig
+--- linux-2.6.22.9/arch/i386/Kconfig	2007-07-09 13:17:41 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/Kconfig	2007-07-09 13:11:53 +0200
 @@ -1230,6 +1230,8 @@ endmenu
  
  source "arch/i386/Kconfig.debug"
@@ -531,8 +557,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/i386/kernel/process.c	2007-07-09 13:17:42 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/process.c
+--- linux-2.6.22.9/arch/i386/kernel/process.c	2007-07-09 13:17:42 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -302,8 +302,10 @@ void show_regs(struct pt_regs * regs)
  	unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
  
@@ -556,8 +583,9 @@
  }
  EXPORT_SYMBOL(kernel_thread);
  
---- linux-2.6.22.2/arch/i386/kernel/syscall_table.S	2007-07-09 13:17:42 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/kernel/syscall_table.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/kernel/syscall_table.S linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/syscall_table.S
+--- linux-2.6.22.9/arch/i386/kernel/syscall_table.S	2007-07-09 13:17:42 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/syscall_table.S	2007-06-15 02:37:03 +0200
 @@ -272,7 +272,7 @@ ENTRY(sys_call_table)
  	.long sys_tgkill	/* 270 */
  	.long sys_utimes
@@ -567,8 +595,9 @@
  	.long sys_mbind
  	.long sys_get_mempolicy
  	.long sys_set_mempolicy
---- linux-2.6.22.2/arch/i386/kernel/sysenter.c	2007-07-09 13:17:42 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/kernel/sysenter.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/kernel/sysenter.c linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/sysenter.c
+--- linux-2.6.22.9/arch/i386/kernel/sysenter.c	2007-09-05 03:37:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/sysenter.c	2007-09-05 03:05:52 +0200
 @@ -17,6 +17,7 @@
  #include <linux/elf.h>
  #include <linux/mm.h>
@@ -577,8 +606,9 @@
  
  #include <asm/cpufeature.h>
  #include <asm/msr.h>
---- linux-2.6.22.2/arch/i386/kernel/traps.c	2007-07-09 13:17:42 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/kernel/traps.c	2007-06-15 02:38:37 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/traps.c
+--- linux-2.6.22.9/arch/i386/kernel/traps.c	2007-07-09 13:17:42 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/kernel/traps.c	2007-06-15 02:38:37 +0200
 @@ -56,6 +56,8 @@
  #include <asm/stacktrace.h>
  
@@ -620,9 +650,10 @@
  			/* Executive summary in case the oops scrolled away */
  			esp = (unsigned long) (&regs->esp);
  			savesegment(ss, ss);
---- linux-2.6.22.2/arch/i386/mm/fault.c	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/i386/mm/fault.c	2007-06-17 05:54:16 +0200
-@@ -586,7 +586,8 @@ out_of_memory:
+diff -NurpP --minimal linux-2.6.22.9/arch/i386/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/i386/mm/fault.c
+--- linux-2.6.22.9/arch/i386/mm/fault.c	2007-09-05 03:37:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/i386/mm/fault.c	2007-09-05 03:05:52 +0200
+@@ -587,7 +587,8 @@ out_of_memory:
  		down_read(&mm->mmap_sem);
  		goto survive;
  	}
@@ -632,8 +663,9 @@
  	if (error_code & 4)
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/ia64/Kconfig	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/ia64/Kconfig
+--- linux-2.6.22.9/arch/ia64/Kconfig	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/Kconfig	2007-06-15 02:37:03 +0200
 @@ -592,6 +592,8 @@ endmenu
  
  source "arch/ia64/Kconfig.debug"
@@ -643,8 +675,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/ia64/ia32/binfmt_elf32.c	2007-05-02 19:24:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/ia32/binfmt_elf32.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/ia32/binfmt_elf32.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/binfmt_elf32.c
+--- linux-2.6.22.9/arch/ia64/ia32/binfmt_elf32.c	2007-05-02 19:24:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/binfmt_elf32.c	2007-06-15 02:37:03 +0200
 @@ -233,7 +233,8 @@ ia32_setup_arg_pages (struct linux_binpr
  			kmem_cache_free(vm_area_cachep, mpnt);
  			return ret;
@@ -655,8 +688,9 @@
  	}
  
  	for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
---- linux-2.6.22.2/arch/ia64/ia32/ia32_entry.S	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/ia32/ia32_entry.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/ia32/ia32_entry.S linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/ia32_entry.S
+--- linux-2.6.22.9/arch/ia64/ia32/ia32_entry.S	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/ia32_entry.S	2007-06-15 02:37:03 +0200
 @@ -446,7 +446,7 @@ ia32_syscall_table:
   	data8 sys_tgkill	/* 270 */
   	data8 compat_sys_utimes
@@ -666,8 +700,9 @@
    	data8 sys_ni_syscall
   	data8 sys_ni_syscall	/* 275 */
    	data8 sys_ni_syscall
---- linux-2.6.22.2/arch/ia64/ia32/sys_ia32.c	2007-05-02 19:24:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/ia32/sys_ia32.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/ia32/sys_ia32.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/sys_ia32.c
+--- linux-2.6.22.9/arch/ia64/ia32/sys_ia32.c	2007-05-02 19:24:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/ia32/sys_ia32.c	2007-06-15 02:37:03 +0200
 @@ -1182,7 +1182,7 @@ sys32_gettimeofday (struct compat_timeva
  {
  	if (tv) {
@@ -677,8 +712,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/ia64/kernel/asm-offsets.c	2007-05-02 19:24:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/asm-offsets.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/asm-offsets.c
+--- linux-2.6.22.9/arch/ia64/kernel/asm-offsets.c	2007-05-02 19:24:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
 @@ -192,6 +192,7 @@ void foo(void)
      /* for assembly files which can't include sched.h: */
  	DEFINE(IA64_CLONE_VFORK, CLONE_VFORK);
@@ -687,8 +723,9 @@
  
  	BLANK();
  	DEFINE(IA64_CPUINFO_NSEC_PER_CYC_OFFSET,
---- linux-2.6.22.2/arch/ia64/kernel/entry.S	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/entry.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/entry.S linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/entry.S
+--- linux-2.6.22.9/arch/ia64/kernel/entry.S	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/entry.S	2007-06-15 02:37:03 +0200
 @@ -1547,7 +1547,7 @@ sys_call_table:
  	data8 sys_mq_notify
  	data8 sys_mq_getsetattr
@@ -698,8 +735,9 @@
  	data8 sys_waitid			// 1270
  	data8 sys_add_key
  	data8 sys_request_key
---- linux-2.6.22.2/arch/ia64/kernel/perfmon.c	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/perfmon.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/perfmon.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/perfmon.c
+--- linux-2.6.22.9/arch/ia64/kernel/perfmon.c	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/perfmon.c	2007-06-15 02:37:03 +0200
 @@ -40,6 +40,7 @@
  #include <linux/capability.h>
  #include <linux/rcupdate.h>
@@ -717,8 +755,9 @@
  	vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
  							vma_pages(vma));
  	up_write(&task->mm->mmap_sem);
---- linux-2.6.22.2/arch/ia64/kernel/process.c	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/process.c
+--- linux-2.6.22.9/arch/ia64/kernel/process.c	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -105,7 +105,8 @@ show_regs (struct pt_regs *regs)
  	unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
  
@@ -739,8 +778,9 @@
  }
  EXPORT_SYMBOL(kernel_thread);
  
---- linux-2.6.22.2/arch/ia64/kernel/ptrace.c	2007-05-02 19:24:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/ptrace.c
+--- linux-2.6.22.9/arch/ia64/kernel/ptrace.c	2007-05-02 19:24:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -17,6 +17,7 @@
  #include <linux/security.h>
  #include <linux/audit.h>
@@ -759,8 +799,9 @@
  	ret = -EPERM;
  	if (pid == 1)		/* no messing around with init! */
  		goto out_tsk;
---- linux-2.6.22.2/arch/ia64/kernel/traps.c	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/traps.c
+--- linux-2.6.22.9/arch/ia64/kernel/traps.c	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
  	put_cpu();
  
@@ -785,8 +826,9 @@
  			}
  		}
  	}
---- linux-2.6.22.2/arch/ia64/mm/fault.c	2007-07-09 13:17:43 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ia64/mm/fault.c	2007-06-15 02:39:01 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ia64/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/ia64/mm/fault.c
+--- linux-2.6.22.9/arch/ia64/mm/fault.c	2007-07-09 13:17:43 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ia64/mm/fault.c	2007-06-15 02:39:01 +0200
 @@ -10,6 +10,7 @@
  #include <linux/interrupt.h>
  #include <linux/kprobes.h>
@@ -795,8 +837,9 @@
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
---- linux-2.6.22.2/arch/m32r/kernel/process.c	2007-05-02 19:24:21 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m32r/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m32r/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/m32r/kernel/process.c
+--- linux-2.6.22.9/arch/m32r/kernel/process.c	2007-05-02 19:24:21 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m32r/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -211,8 +211,8 @@ int kernel_thread(int (*fn)(void *), voi
  	regs.psw = M32R_PSW_BIE;
  
@@ -808,8 +851,9 @@
  }
  
  /*
---- linux-2.6.22.2/arch/m32r/kernel/traps.c	2006-11-30 21:18:28 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m32r/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m32r/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/m32r/kernel/traps.c
+--- linux-2.6.22.9/arch/m32r/kernel/traps.c	2006-11-30 21:18:28 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/m32r/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -195,8 +195,9 @@ static void show_registers(struct pt_reg
  	} else {
  		printk("SPI: %08lx\n", sp);
@@ -822,8 +866,9 @@
  
  	/*
  	 * When in-kernel, we also print out the stack and code at the
---- linux-2.6.22.2/arch/m68k/Kconfig	2007-07-09 13:17:47 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68k/Kconfig	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68k/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/m68k/Kconfig
+--- linux-2.6.22.9/arch/m68k/Kconfig	2007-07-09 13:17:47 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68k/Kconfig	2007-07-07 03:52:53 +0200
 @@ -678,6 +678,8 @@ source "fs/Kconfig"
  
  source "arch/m68k/Kconfig.debug"
@@ -833,8 +878,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/m68k/kernel/process.c	2006-11-30 21:18:28 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68k/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68k/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/process.c
+--- linux-2.6.22.9/arch/m68k/kernel/process.c	2006-11-30 21:18:28 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -159,7 +159,8 @@ int kernel_thread(int (*fn)(void *), voi
  
  	{
@@ -845,8 +891,9 @@
  
  	retval = __NR_clone;
  	__asm__ __volatile__
---- linux-2.6.22.2/arch/m68k/kernel/ptrace.c	2007-07-09 13:17:47 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68k/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68k/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/ptrace.c
+--- linux-2.6.22.9/arch/m68k/kernel/ptrace.c	2007-07-09 13:17:47 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -18,6 +18,7 @@
  #include <linux/ptrace.h>
  #include <linux/user.h>
@@ -864,8 +911,9 @@
  
  	return ret;
  out_eio:
---- linux-2.6.22.2/arch/m68k/kernel/traps.c	2007-05-02 19:24:21 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68k/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68k/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/traps.c
+--- linux-2.6.22.9/arch/m68k/kernel/traps.c	2007-05-02 19:24:21 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68k/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -899,8 +899,8 @@ void show_registers(struct pt_regs *regs
  	printk("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
  	       regs->d4, regs->d5, regs->a0, regs->a1);
@@ -877,8 +925,9 @@
  	addr = (unsigned long)&fp->un;
  	printk("Frame format=%X ", regs->format);
  	switch (regs->format) {
---- linux-2.6.22.2/arch/m68knommu/Kconfig	2007-07-09 13:17:47 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68knommu/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68knommu/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/Kconfig
+--- linux-2.6.22.9/arch/m68knommu/Kconfig	2007-07-09 13:17:47 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/Kconfig	2007-06-15 02:37:03 +0200
 @@ -670,6 +670,8 @@ source "fs/Kconfig"
  
  source "arch/m68knommu/Kconfig.debug"
@@ -888,8 +937,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/m68knommu/kernel/process.c	2007-02-06 03:00:08 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68knommu/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68knommu/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/kernel/process.c
+--- linux-2.6.22.9/arch/m68knommu/kernel/process.c	2007-02-06 03:00:08 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -122,7 +122,7 @@ void show_regs(struct pt_regs * regs)
  int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
  {
@@ -899,8 +949,9 @@
  	mm_segment_t fs;
  
  	fs = get_fs();
---- linux-2.6.22.2/arch/m68knommu/kernel/traps.c	2007-05-02 19:24:21 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/m68knommu/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/m68knommu/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/kernel/traps.c
+--- linux-2.6.22.9/arch/m68knommu/kernel/traps.c	2007-05-02 19:24:21 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/m68knommu/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -80,8 +80,9 @@ void die_if_kernel(char *str, struct pt_
  	printk(KERN_EMERG "d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
  	       fp->d4, fp->d5, fp->a0, fp->a1);
@@ -913,8 +964,9 @@
  	show_stack(NULL, (unsigned long *)fp);
  	do_exit(SIGSEGV);
  }
---- linux-2.6.22.2/arch/mips/Kconfig	2007-07-09 13:17:47 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/Kconfig	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/mips/Kconfig
+--- linux-2.6.22.9/arch/mips/Kconfig	2007-07-09 13:17:47 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/Kconfig	2007-07-07 03:52:53 +0200
 @@ -1959,6 +1959,8 @@ source "arch/mips/oprofile/Kconfig"
  
  source "arch/mips/Kconfig.debug"
@@ -924,8 +976,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/mips/kernel/linux32.c	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/linux32.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/linux32.c linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/linux32.c
+--- linux-2.6.22.9/arch/mips/kernel/linux32.c	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/linux32.c	2007-06-17 05:54:16 +0200
 @@ -229,7 +229,7 @@ sys32_gettimeofday(struct compat_timeval
  {
  	if (tv) {
@@ -935,8 +988,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/mips/kernel/process.c	2007-05-02 19:24:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/process.c
+--- linux-2.6.22.9/arch/mips/kernel/process.c	2007-05-02 19:24:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -236,7 +236,8 @@ long kernel_thread(int (*fn)(void *), vo
  #endif
  
@@ -947,8 +1001,9 @@
  }
  
  /*
---- linux-2.6.22.2/arch/mips/kernel/ptrace.c	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/ptrace.c
+--- linux-2.6.22.9/arch/mips/kernel/ptrace.c	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -25,6 +25,7 @@
  #include <linux/user.h>
  #include <linux/security.h>
@@ -967,8 +1022,9 @@
  	switch (request) {
  	/* when I and D space are separate, these will need to be fixed. */
  	case PTRACE_PEEKTEXT: /* read word at location addr. */
---- linux-2.6.22.2/arch/mips/kernel/scall32-o32.S	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/scall32-o32.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/scall32-o32.S linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall32-o32.S
+--- linux-2.6.22.9/arch/mips/kernel/scall32-o32.S	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall32-o32.S	2007-06-17 05:54:16 +0200
 @@ -619,7 +619,7 @@ einval:	li	v0, -EINVAL
  	sys	sys_mq_timedreceive	5
  	sys	sys_mq_notify		2	/* 4275 */
@@ -978,8 +1034,9 @@
  	sys	sys_waitid		5
  	sys	sys_ni_syscall		0	/* available, was setaltroot */
  	sys	sys_add_key		5	/* 4280 */
---- linux-2.6.22.2/arch/mips/kernel/scall64-64.S	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/scall64-64.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/scall64-64.S linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-64.S
+--- linux-2.6.22.9/arch/mips/kernel/scall64-64.S	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-64.S	2007-06-17 05:54:16 +0200
 @@ -434,7 +434,7 @@ sys_call_table:
  	PTR	sys_mq_timedreceive
  	PTR	sys_mq_notify
@@ -989,8 +1046,9 @@
  	PTR	sys_waitid
  	PTR	sys_ni_syscall			/* available, was setaltroot */
  	PTR	sys_add_key
---- linux-2.6.22.2/arch/mips/kernel/scall64-n32.S	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/scall64-n32.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/scall64-n32.S linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-n32.S
+--- linux-2.6.22.9/arch/mips/kernel/scall64-n32.S	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-n32.S	2007-06-17 05:54:16 +0200
 @@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
  	PTR	compat_sys_mq_timedreceive
  	PTR	compat_sys_mq_notify
@@ -1000,8 +1058,9 @@
  	PTR	compat_sys_waitid
  	PTR	sys_ni_syscall			/* available, was setaltroot */
  	PTR	sys_add_key
---- linux-2.6.22.2/arch/mips/kernel/scall64-o32.S	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/scall64-o32.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/scall64-o32.S linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-o32.S
+--- linux-2.6.22.9/arch/mips/kernel/scall64-o32.S	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/scall64-o32.S	2007-06-17 05:54:16 +0200
 @@ -482,7 +482,7 @@ sys_call_table:
  	PTR	compat_sys_mq_timedreceive
  	PTR	compat_sys_mq_notify		/* 4275 */
@@ -1011,8 +1070,9 @@
  	PTR	sys32_waitid
  	PTR	sys_ni_syscall			/* available, was setaltroot */
  	PTR	sys_add_key			/* 4280 */
---- linux-2.6.22.2/arch/mips/kernel/traps.c	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/kernel/traps.c	2007-07-09 13:11:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/traps.c
+--- linux-2.6.22.9/arch/mips/kernel/traps.c	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/kernel/traps.c	2007-07-09 13:11:53 +0200
 @@ -302,8 +302,9 @@ void show_registers(struct pt_regs *regs
  {
  	show_regs(regs);
@@ -1025,8 +1085,9 @@
  	show_stacktrace(current, regs);
  	show_code((unsigned int *) regs->cp0_epc);
  	printk("\n");
---- linux-2.6.22.2/arch/mips/mm/fault.c	2007-07-09 13:17:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/mips/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/mips/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/mips/mm/fault.c
+--- linux-2.6.22.9/arch/mips/mm/fault.c	2007-07-09 13:17:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/mips/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -179,7 +179,8 @@ out_of_memory:
  		down_read(&mm->mmap_sem);
  		goto survive;
@@ -1037,8 +1098,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/parisc/Kconfig	2007-05-02 19:24:26 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/parisc/Kconfig
+--- linux-2.6.22.9/arch/parisc/Kconfig	2007-05-02 19:24:26 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/Kconfig	2007-06-15 02:37:03 +0200
 @@ -271,6 +271,8 @@ source "arch/parisc/oprofile/Kconfig"
  
  source "arch/parisc/Kconfig.debug"
@@ -1048,8 +1110,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/parisc/kernel/entry.S	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/kernel/entry.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/kernel/entry.S linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/entry.S
+--- linux-2.6.22.9/arch/parisc/kernel/entry.S	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/entry.S	2007-06-17 05:54:16 +0200
 @@ -761,6 +761,7 @@ END(fault_vector_11)
  
  #define CLONE_VM 0x100	/* Must agree with <linux/sched.h> */
@@ -1058,8 +1121,9 @@
  
  	.import do_fork
  ENTRY(__kernel_thread)
---- linux-2.6.22.2/arch/parisc/kernel/process.c	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/kernel/process.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/process.c
+--- linux-2.6.22.9/arch/parisc/kernel/process.c	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/process.c	2007-06-17 05:54:16 +0200
 @@ -173,7 +173,7 @@ pid_t kernel_thread(int (*fn)(void *), v
  	 *	  kernel_thread can become a #define.
  	 */
@@ -1069,8 +1133,9 @@
  }
  EXPORT_SYMBOL(kernel_thread);
  
---- linux-2.6.22.2/arch/parisc/kernel/sys_parisc32.c	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/kernel/sys_parisc32.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/kernel/sys_parisc32.c linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/sys_parisc32.c
+--- linux-2.6.22.9/arch/parisc/kernel/sys_parisc32.c	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/sys_parisc32.c	2007-06-17 05:54:16 +0200
 @@ -204,11 +204,11 @@ static inline long get_ts32(struct times
  asmlinkage int
  sys32_gettimeofday(struct compat_timeval __user *tv, struct timezone __user *tz)
@@ -1085,8 +1150,9 @@
  	    if (put_compat_timeval(tv, &ktv))
  		    return -EFAULT;
      }
---- linux-2.6.22.2/arch/parisc/kernel/syscall_table.S	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/kernel/syscall_table.S	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/kernel/syscall_table.S linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/syscall_table.S
+--- linux-2.6.22.9/arch/parisc/kernel/syscall_table.S	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/syscall_table.S	2007-06-17 05:54:16 +0200
 @@ -363,7 +363,7 @@
  	ENTRY_COMP(mbind)		/* 260 */
  	ENTRY_COMP(get_mempolicy)
@@ -1096,8 +1162,9 @@
  	ENTRY_SAME(add_key)
  	ENTRY_SAME(request_key)		/* 265 */
  	ENTRY_SAME(keyctl)
---- linux-2.6.22.2/arch/parisc/kernel/traps.c	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/kernel/traps.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/traps.c
+--- linux-2.6.22.9/arch/parisc/kernel/traps.c	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/kernel/traps.c	2007-06-17 05:54:16 +0200
 @@ -218,8 +218,9 @@ void die_if_kernel(char *str, struct pt_
  		if (err == 0)
  			return; /* STFU */
@@ -1121,8 +1188,9 @@
  
  	/* Wot's wrong wif bein' racy? */
  	if (current->thread.flags & PARISC_KERNEL_DEATH) {
---- linux-2.6.22.2/arch/parisc/mm/fault.c	2007-05-02 19:24:26 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/parisc/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/parisc/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/parisc/mm/fault.c
+--- linux-2.6.22.9/arch/parisc/mm/fault.c	2007-05-02 19:24:26 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/parisc/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -209,8 +209,9 @@ bad_area:
  
  #ifdef PRINT_USER_FAULTS
@@ -1145,8 +1213,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/powerpc/Kconfig	2007-07-09 13:17:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/powerpc/Kconfig
+--- linux-2.6.22.9/arch/powerpc/Kconfig	2007-07-09 13:17:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/Kconfig	2007-06-15 02:37:03 +0200
 @@ -906,6 +906,8 @@ endmenu
  
  source "arch/powerpc/Kconfig.debug"
@@ -1156,8 +1225,9 @@
  source "security/Kconfig"
  
  config KEYS_COMPAT
---- linux-2.6.22.2/arch/powerpc/kernel/asm-offsets.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/asm-offsets.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/asm-offsets.c
+--- linux-2.6.22.9/arch/powerpc/kernel/asm-offsets.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
 @@ -250,6 +250,7 @@ int main(void)
  
  	DEFINE(CLONE_VM, CLONE_VM);
@@ -1166,8 +1236,9 @@
  
  #ifndef CONFIG_PPC64
  	DEFINE(MM_PGD, offsetof(struct mm_struct, pgd));
---- linux-2.6.22.2/arch/powerpc/kernel/irq.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/irq.c	2007-07-09 13:11:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/irq.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/irq.c
+--- linux-2.6.22.9/arch/powerpc/kernel/irq.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/irq.c	2007-07-09 13:11:53 +0200
 @@ -53,6 +53,7 @@
  #include <linux/mutex.h>
  #include <linux/bootmem.h>
@@ -1176,8 +1247,9 @@
  
  #include <asm/uaccess.h>
  #include <asm/system.h>
---- linux-2.6.22.2/arch/powerpc/kernel/misc_32.S	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/misc_32.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/misc_32.S linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/misc_32.S
+--- linux-2.6.22.9/arch/powerpc/kernel/misc_32.S	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/misc_32.S	2007-06-15 02:37:03 +0200
 @@ -745,7 +745,7 @@ _GLOBAL(kernel_thread)
  	mr	r30,r3		/* function */
  	mr	r31,r4		/* argument */
@@ -1187,8 +1259,9 @@
  	li	r4,0		/* new sp (unused) */
  	li	r0,__NR_clone
  	sc
---- linux-2.6.22.2/arch/powerpc/kernel/misc_64.S	2007-05-02 19:24:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/misc_64.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/misc_64.S linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/misc_64.S
+--- linux-2.6.22.9/arch/powerpc/kernel/misc_64.S	2007-05-02 19:24:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/misc_64.S	2007-06-15 02:37:03 +0200
 @@ -434,7 +434,7 @@ _GLOBAL(kernel_thread)
  	mr	r29,r3
  	mr	r30,r4
@@ -1198,8 +1271,9 @@
  	li	r4,0		/* new sp (unused) */
  	li	r0,__NR_clone
  	sc
---- linux-2.6.22.2/arch/powerpc/kernel/process.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/process.c
+--- linux-2.6.22.9/arch/powerpc/kernel/process.c	2007-09-30 15:54:33 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/process.c	2007-10-01 15:25:34 +0200
 @@ -422,8 +422,9 @@ void show_regs(struct pt_regs * regs)
  	trap = TRAP(regs);
  	if (trap == 0x300 || trap == 0x600)
@@ -1212,8 +1286,9 @@
  
  #ifdef CONFIG_SMP
  	printk(" CPU: %d", smp_processor_id());
---- linux-2.6.22.2/arch/powerpc/kernel/sys_ppc32.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/sys_ppc32.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/sys_ppc32.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/sys_ppc32.c
+--- linux-2.6.22.9/arch/powerpc/kernel/sys_ppc32.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/sys_ppc32.c	2007-07-07 03:52:53 +0200
 @@ -205,7 +205,7 @@ asmlinkage long compat_sys_gettimeofday(
  {
  	if (tv) {
@@ -1223,8 +1298,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/powerpc/kernel/traps.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/traps.c
+--- linux-2.6.22.9/arch/powerpc/kernel/traps.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -878,8 +878,9 @@ void nonrecoverable_exception(struct pt_
  
  void trace_syscall(struct pt_regs *regs)
@@ -1237,8 +1313,9 @@
  	       regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
  }
  
---- linux-2.6.22.2/arch/powerpc/kernel/vdso.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/kernel/vdso.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/kernel/vdso.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/vdso.c
+--- linux-2.6.22.9/arch/powerpc/kernel/vdso.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/kernel/vdso.c	2007-06-15 02:37:03 +0200
 @@ -21,6 +21,7 @@
  #include <linux/elf.h>
  #include <linux/security.h>
@@ -1247,8 +1324,9 @@
  
  #include <asm/pgtable.h>
  #include <asm/system.h>
---- linux-2.6.22.2/arch/powerpc/mm/fault.c	2007-07-09 13:17:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/powerpc/mm/fault.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/powerpc/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/powerpc/mm/fault.c
+--- linux-2.6.22.9/arch/powerpc/mm/fault.c	2007-07-09 13:17:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/powerpc/mm/fault.c	2007-07-07 03:52:53 +0200
 @@ -378,7 +378,8 @@ out_of_memory:
  		down_read(&mm->mmap_sem);
  		goto survive;
@@ -1259,8 +1337,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	return SIGKILL;
---- linux-2.6.22.2/arch/ppc/Kconfig	2007-05-02 19:24:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ppc/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ppc/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/ppc/Kconfig
+--- linux-2.6.22.9/arch/ppc/Kconfig	2007-05-02 19:24:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ppc/Kconfig	2007-06-15 02:37:03 +0200
 @@ -1455,6 +1455,8 @@ source "arch/powerpc/oprofile/Kconfig"
  
  source "arch/ppc/Kconfig.debug"
@@ -1270,8 +1349,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/ppc/kernel/asm-offsets.c	2007-07-09 13:18:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ppc/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ppc/kernel/asm-offsets.c linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/asm-offsets.c
+--- linux-2.6.22.9/arch/ppc/kernel/asm-offsets.c	2007-07-09 13:18:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/asm-offsets.c	2007-06-15 02:37:03 +0200
 @@ -120,6 +120,7 @@ main(void)
  	DEFINE(TRAP, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, trap));
  	DEFINE(CLONE_VM, CLONE_VM);
@@ -1280,8 +1360,9 @@
  	DEFINE(MM_PGD, offsetof(struct mm_struct, pgd));
  
  	/* About the CPU features table */
---- linux-2.6.22.2/arch/ppc/kernel/misc.S	2006-11-30 21:18:32 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ppc/kernel/misc.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ppc/kernel/misc.S linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/misc.S
+--- linux-2.6.22.9/arch/ppc/kernel/misc.S	2006-11-30 21:18:32 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/misc.S	2007-06-15 02:37:03 +0200
 @@ -848,7 +848,7 @@ _GLOBAL(kernel_thread)
  	mr	r30,r3		/* function */
  	mr	r31,r4		/* argument */
@@ -1291,8 +1372,9 @@
  	li	r4,0		/* new sp (unused) */
  	li	r0,__NR_clone
  	sc
---- linux-2.6.22.2/arch/ppc/kernel/traps.c	2007-07-09 13:18:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ppc/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ppc/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/traps.c
+--- linux-2.6.22.9/arch/ppc/kernel/traps.c	2007-07-09 13:18:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/ppc/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -696,8 +696,9 @@ void nonrecoverable_exception(struct pt_
  
  void trace_syscall(struct pt_regs *regs)
@@ -1305,8 +1387,9 @@
  	       regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
  }
  
---- linux-2.6.22.2/arch/ppc/mm/fault.c	2006-11-30 21:18:32 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/ppc/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/ppc/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/ppc/mm/fault.c
+--- linux-2.6.22.9/arch/ppc/mm/fault.c	2006-11-30 21:18:32 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/ppc/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -296,7 +296,8 @@ out_of_memory:
  		down_read(&mm->mmap_sem);
  		goto survive;
@@ -1317,8 +1400,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	return SIGKILL;
---- linux-2.6.22.2/arch/s390/Kconfig	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/s390/Kconfig
+--- linux-2.6.22.9/arch/s390/Kconfig	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/Kconfig	2007-06-15 02:37:03 +0200
 @@ -551,6 +551,8 @@ endmenu
  
  source "arch/s390/Kconfig.debug"
@@ -1328,8 +1412,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/s390/kernel/compat_linux.c	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/kernel/compat_linux.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/kernel/compat_linux.c linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/compat_linux.c
+--- linux-2.6.22.9/arch/s390/kernel/compat_linux.c	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/compat_linux.c	2007-06-15 02:37:03 +0200
 @@ -567,7 +567,7 @@ asmlinkage long sys32_gettimeofday(struc
  {
  	if (tv) {
@@ -1339,8 +1424,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/s390/kernel/process.c	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/process.c
+--- linux-2.6.22.9/arch/s390/kernel/process.c	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -164,9 +164,9 @@ void show_regs(struct pt_regs *regs)
  	struct task_struct *tsk = current;
  
@@ -1363,8 +1449,9 @@
  		       0, &regs, 0, NULL, NULL);
  }
  
---- linux-2.6.22.2/arch/s390/kernel/ptrace.c	2007-05-02 19:24:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/ptrace.c
+--- linux-2.6.22.9/arch/s390/kernel/ptrace.c	2007-05-02 19:24:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -33,6 +33,7 @@
  #include <linux/security.h>
  #include <linux/audit.h>
@@ -1387,8 +1474,9 @@
  	put_task_struct(child);
  out:
  	unlock_kernel();
---- linux-2.6.22.2/arch/s390/kernel/syscalls.S	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/kernel/syscalls.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/kernel/syscalls.S linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/syscalls.S
+--- linux-2.6.22.9/arch/s390/kernel/syscalls.S	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/kernel/syscalls.S	2007-06-15 02:37:03 +0200
 @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
  SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper)	/* 260 */
  SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
@@ -1398,8 +1486,9 @@
  SYSCALL(s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
  SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
  SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
---- linux-2.6.22.2/arch/s390/mm/fault.c	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/s390/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/s390/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/s390/mm/fault.c
+--- linux-2.6.22.9/arch/s390/mm/fault.c	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/s390/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -216,7 +216,8 @@ static int do_out_of_memory(struct pt_re
  		down_read(&mm->mmap_sem);
  		return 1;
@@ -1410,8 +1499,9 @@
  	if (regs->psw.mask & PSW_MASK_PSTATE)
  		do_exit(SIGKILL);
  	do_no_context(regs, error_code, address);
---- linux-2.6.22.2/arch/sh/Kconfig	2007-07-09 13:18:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/sh/Kconfig
+--- linux-2.6.22.9/arch/sh/Kconfig	2007-07-09 13:18:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh/Kconfig	2007-06-15 02:37:03 +0200
 @@ -723,6 +723,8 @@ source "arch/sh/oprofile/Kconfig"
  
  source "arch/sh/Kconfig.debug"
@@ -1421,8 +1511,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/sh/kernel/irq.c	2007-07-09 13:18:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh/kernel/irq.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh/kernel/irq.c linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/irq.c
+--- linux-2.6.22.9/arch/sh/kernel/irq.c	2007-07-09 13:18:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/irq.c	2007-06-15 02:37:03 +0200
 @@ -12,6 +12,7 @@
  #include <linux/kernel_stat.h>
  #include <linux/seq_file.h>
@@ -1431,8 +1522,9 @@
  #include <asm/processor.h>
  #include <asm/machvec.h>
  #include <asm/uaccess.h>
---- linux-2.6.22.2/arch/sh/kernel/process.c	2007-07-09 13:18:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/process.c
+--- linux-2.6.22.9/arch/sh/kernel/process.c	2007-07-09 13:18:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -118,7 +118,8 @@ void machine_power_off(void)
  void show_regs(struct pt_regs * regs)
  {
@@ -1452,8 +1544,9 @@
  		       &regs, 0, NULL, NULL);
  }
  
---- linux-2.6.22.2/arch/sh/kernel/vsyscall/vsyscall.c	2007-07-09 13:18:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh/kernel/vsyscall/vsyscall.c	2007-06-15 02:39:24 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/vsyscall/vsyscall.c
+--- linux-2.6.22.9/arch/sh/kernel/vsyscall/vsyscall.c	2007-07-09 13:18:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh/kernel/vsyscall/vsyscall.c	2007-06-15 02:39:24 +0200
 @@ -18,6 +18,7 @@
  #include <linux/module.h>
  #include <linux/elf.h>
@@ -1462,8 +1555,9 @@
  
  /*
   * Should the kernel map a VDSO page into processes and pass its
---- linux-2.6.22.2/arch/sh/mm/fault.c	2007-07-09 13:18:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/sh/mm/fault.c
+--- linux-2.6.22.9/arch/sh/mm/fault.c	2007-07-09 13:18:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -201,7 +201,8 @@ out_of_memory:
  		down_read(&mm->mmap_sem);
  		goto survive;
@@ -1474,8 +1568,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/sh64/kernel/process.c	2007-07-09 13:18:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh64/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh64/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/sh64/kernel/process.c
+--- linux-2.6.22.9/arch/sh64/kernel/process.c	2007-07-09 13:18:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh64/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -400,8 +400,8 @@ int kernel_thread(int (*fn)(void *), voi
  	regs.pc = (unsigned long)kernel_thread_helper;
  	regs.sr = (1 << 30);
@@ -1487,8 +1582,9 @@
  }
  
  /*
---- linux-2.6.22.2/arch/sh64/mm/fault.c	2007-07-09 13:18:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sh64/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sh64/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/sh64/mm/fault.c
+--- linux-2.6.22.9/arch/sh64/mm/fault.c	2007-07-09 13:18:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sh64/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -81,7 +81,7 @@ static inline void print_vma(struct vm_a
  
  static inline void print_task(struct task_struct *tsk)
@@ -1508,8 +1604,9 @@
  	if (user_mode(regs))
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/sparc/Kconfig	2007-07-09 13:18:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/sparc/Kconfig
+--- linux-2.6.22.9/arch/sparc/Kconfig	2007-07-09 13:18:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/Kconfig	2007-06-15 02:37:03 +0200
 @@ -317,6 +317,8 @@ endmenu
  
  source "arch/sparc/Kconfig.debug"
@@ -1519,8 +1616,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/sparc/kernel/process.c	2007-07-09 13:18:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/process.c
+--- linux-2.6.22.9/arch/sparc/kernel/process.c	2007-07-09 13:18:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -705,7 +705,8 @@ pid_t kernel_thread(int (*fn)(void *), v
  			     /* Notreached by child. */
  			     "1: mov %%o0, %0\n\t" :
@@ -1531,8 +1629,9 @@
  			     "i" (__NR_exit),  "r" (fn), "r" (arg) :
  			     "g1", "g2", "g3", "o0", "o1", "memory", "cc");
  	return retval;
---- linux-2.6.22.2/arch/sparc/kernel/ptrace.c	2007-02-06 03:00:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/ptrace.c
+--- linux-2.6.22.9/arch/sparc/kernel/ptrace.c	2007-02-06 03:00:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -19,6 +19,7 @@
  #include <linux/smp_lock.h>
  #include <linux/security.h>
@@ -1552,8 +1651,9 @@
  
  	if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
---- linux-2.6.22.2/arch/sparc/kernel/systbls.S	2007-07-09 13:18:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/kernel/systbls.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/kernel/systbls.S linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/systbls.S
+--- linux-2.6.22.9/arch/sparc/kernel/systbls.S	2007-07-09 13:18:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/systbls.S	2007-06-15 02:37:03 +0200
 @@ -71,7 +71,7 @@ sys_call_table:
  /*250*/	.long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
  /*255*/	.long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
@@ -1563,8 +1663,9 @@
  /*270*/	.long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
  /*275*/	.long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
  /*280*/	.long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
---- linux-2.6.22.2/arch/sparc/kernel/traps.c	2007-07-09 13:18:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/kernel/traps.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/traps.c
+--- linux-2.6.22.9/arch/sparc/kernel/traps.c	2007-07-09 13:18:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/kernel/traps.c	2007-06-15 02:37:03 +0200
 @@ -99,7 +99,8 @@ void die_if_kernel(char *str, struct pt_
  "              /_| \\__/ |_\\\n"
  "                 \\__U_/\n");
@@ -1575,8 +1676,9 @@
  	show_regs(regs);
  
  	__SAVE; __SAVE; __SAVE; __SAVE;
---- linux-2.6.22.2/arch/sparc/mm/fault.c	2007-07-09 13:18:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc/mm/fault.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/sparc/mm/fault.c
+--- linux-2.6.22.9/arch/sparc/mm/fault.c	2007-07-09 13:18:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc/mm/fault.c	2007-06-15 02:37:03 +0200
 @@ -367,7 +367,8 @@ no_context:
   */
  out_of_memory:
@@ -1587,8 +1689,9 @@
  	if (from_user)
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/arch/sparc64/Kconfig	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/Kconfig	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/sparc64/Kconfig
+--- linux-2.6.22.9/arch/sparc64/Kconfig	2007-07-09 13:18:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/Kconfig	2007-06-17 05:54:16 +0200
 @@ -451,6 +451,8 @@ endmenu
  
  source "arch/sparc64/Kconfig.debug"
@@ -1598,8 +1701,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/sparc64/kernel/binfmt_aout32.c	2007-02-06 03:00:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/binfmt_aout32.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/binfmt_aout32.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/binfmt_aout32.c
+--- linux-2.6.22.9/arch/sparc64/kernel/binfmt_aout32.c	2007-02-06 03:00:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/binfmt_aout32.c	2007-06-15 02:37:03 +0200
 @@ -27,6 +27,7 @@
  #include <linux/binfmts.h>
  #include <linux/personality.h>
@@ -1608,8 +1712,9 @@
  
  #include <asm/system.h>
  #include <asm/uaccess.h>
---- linux-2.6.22.2/arch/sparc64/kernel/process.c	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/process.c
+--- linux-2.6.22.9/arch/sparc64/kernel/process.c	2007-07-09 13:18:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -707,7 +707,8 @@ pid_t kernel_thread(int (*fn)(void *), v
  			     /* Notreached by child. */
  			     "1:" :
@@ -1620,8 +1725,9 @@
  			     "i" (__NR_exit),  "r" (fn), "r" (arg) :
  			     "g1", "g2", "g3", "o0", "o1", "memory", "cc");
  	return retval;
---- linux-2.6.22.2/arch/sparc64/kernel/ptrace.c	2007-02-06 03:00:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/ptrace.c
+--- linux-2.6.22.9/arch/sparc64/kernel/ptrace.c	2007-02-06 03:00:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -22,6 +22,7 @@
  #include <linux/seccomp.h>
  #include <linux/audit.h>
@@ -1641,8 +1747,9 @@
  
  	if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
---- linux-2.6.22.2/arch/sparc64/kernel/sys_sparc32.c	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/sys_sparc32.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/sys_sparc32.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/sys_sparc32.c
+--- linux-2.6.22.9/arch/sparc64/kernel/sys_sparc32.c	2007-07-09 13:18:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/sys_sparc32.c	2007-06-15 02:37:03 +0200
 @@ -729,7 +729,7 @@ asmlinkage long sys32_gettimeofday(struc
  {
  	if (tv) {
@@ -1652,8 +1759,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/sparc64/kernel/systbls.S	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/systbls.S	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/systbls.S linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/systbls.S
+--- linux-2.6.22.9/arch/sparc64/kernel/systbls.S	2007-07-09 13:18:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/systbls.S	2007-06-15 02:37:03 +0200
 @@ -72,7 +72,7 @@ sys_call_table32:
  /*250*/	.word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
  	.word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
@@ -1672,9 +1780,10 @@
  /*270*/	.word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
  	.word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
  /*280*/	.word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
---- linux-2.6.22.2/arch/sparc64/kernel/traps.c	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/kernel/traps.c	2007-06-15 02:37:03 +0200
-@@ -2221,7 +2221,8 @@ void die_if_kernel(char *str, struct pt_
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/traps.c
+--- linux-2.6.22.9/arch/sparc64/kernel/traps.c	2007-09-05 03:37:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/kernel/traps.c	2007-09-05 03:05:52 +0200
+@@ -2225,7 +2225,8 @@ void die_if_kernel(char *str, struct pt_
  "              /_| \\__/ |_\\\n"
  "                 \\__U_/\n");
  
@@ -1684,9 +1793,10 @@
  	notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
  	__asm__ __volatile__("flushw");
  	__show_regs(regs);
---- linux-2.6.22.2/arch/sparc64/mm/fault.c	2007-07-09 13:18:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/mm/fault.c	2007-06-15 02:37:03 +0200
-@@ -466,7 +466,8 @@ handle_kernel_fault:
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/mm/fault.c
+--- linux-2.6.22.9/arch/sparc64/mm/fault.c	2007-09-05 03:37:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/mm/fault.c	2007-09-05 03:05:52 +0200
+@@ -463,7 +463,8 @@ handle_kernel_fault:
  out_of_memory:
  	insn = get_fault_insn(regs, insn);
  	up_read(&mm->mmap_sem);
@@ -1696,8 +1806,9 @@
  	if (!(regs->tstate & TSTATE_PRIV))
  		do_exit(SIGKILL);
  	goto handle_kernel_fault;
---- linux-2.6.22.2/arch/sparc64/solaris/fs.c	2007-02-06 03:00:21 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/sparc64/solaris/fs.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/sparc64/solaris/fs.c linux-2.6.22.9-vs2.2.0.4/arch/sparc64/solaris/fs.c
+--- linux-2.6.22.9/arch/sparc64/solaris/fs.c	2007-02-06 03:00:21 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/sparc64/solaris/fs.c	2007-06-15 02:37:03 +0200
 @@ -368,7 +368,7 @@ static int report_statvfs(struct vfsmoun
  		int j = strlen (p);
  		
@@ -1716,8 +1827,9 @@
  		if (mnt->mnt_flags & MNT_NOSUID) i |= 2;
  		if (!sysv_valid_dev(inode->i_sb->s_dev))
  			return -EOVERFLOW;
---- linux-2.6.22.2/arch/um/Kconfig	2007-07-09 13:18:07 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/um/Kconfig	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/um/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/um/Kconfig
+--- linux-2.6.22.9/arch/um/Kconfig	2007-07-09 13:18:07 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/um/Kconfig	2007-06-17 05:54:16 +0200
 @@ -316,6 +316,8 @@ source "drivers/connector/Kconfig"
  
  source "fs/Kconfig"
@@ -1727,8 +1839,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/um/kernel/trap.c	2007-07-09 13:18:07 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/um/kernel/trap.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/um/kernel/trap.c linux-2.6.22.9-vs2.2.0.4/arch/um/kernel/trap.c
+--- linux-2.6.22.9/arch/um/kernel/trap.c	2007-07-09 13:18:07 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/um/kernel/trap.c	2007-06-15 02:37:03 +0200
 @@ -210,7 +210,8 @@ unsigned long segv(struct faultinfo fi, 
  		current->thread.arch.faultinfo = fi;
  		force_sig_info(SIGBUS, &si, current);
@@ -1739,8 +1852,9 @@
  		do_exit(SIGKILL);
  	} else {
  		BUG_ON(err != -EFAULT);
---- linux-2.6.22.2/arch/v850/Kconfig	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/v850/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/v850/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/v850/Kconfig
+--- linux-2.6.22.9/arch/v850/Kconfig	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/v850/Kconfig	2007-06-15 02:37:03 +0200
 @@ -333,6 +333,8 @@ source "drivers/usb/Kconfig"
  
  source "arch/v850/Kconfig.debug"
@@ -1750,8 +1864,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/v850/kernel/process.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/v850/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/v850/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/v850/kernel/process.c
+--- linux-2.6.22.9/arch/v850/kernel/process.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/v850/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -82,7 +82,7 @@ int kernel_thread (int (*fn)(void *), vo
  	/* Clone this thread.  Note that we don't pass the clone syscall's
  	   second argument -- it's ignored for calls from kernel mode (the
@@ -1761,8 +1876,9 @@
  	syscall = __NR_clone;
  	asm volatile ("trap " SYSCALL_SHORT_TRAP
  		      : "=r" (ret), "=r" (syscall)
---- linux-2.6.22.2/arch/v850/kernel/ptrace.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/v850/kernel/ptrace.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/v850/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/arch/v850/kernel/ptrace.c
+--- linux-2.6.22.9/arch/v850/kernel/ptrace.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/v850/kernel/ptrace.c	2007-06-15 02:37:03 +0200
 @@ -23,6 +23,7 @@
  #include <linux/sched.h>
  #include <linux/ptrace.h>
@@ -1781,8 +1897,9 @@
  	switch (request) {
  		unsigned long val, copied;
  
---- linux-2.6.22.2/arch/x86_64/Kconfig	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/Kconfig linux-2.6.22.9-vs2.2.0.4/arch/x86_64/Kconfig
+--- linux-2.6.22.9/arch/x86_64/Kconfig	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/Kconfig	2007-06-15 02:37:03 +0200
 @@ -782,6 +782,8 @@ endmenu
  
  source "arch/x86_64/Kconfig.debug"
@@ -1792,8 +1909,9 @@
  source "security/Kconfig"
  
  source "crypto/Kconfig"
---- linux-2.6.22.2/arch/x86_64/ia32/ia32_aout.c	2007-02-06 03:00:21 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/ia32/ia32_aout.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/ia32/ia32_aout.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32_aout.c
+--- linux-2.6.22.9/arch/x86_64/ia32/ia32_aout.c	2007-02-06 03:00:21 +0100
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32_aout.c	2007-06-15 02:37:03 +0200
 @@ -25,6 +25,7 @@
  #include <linux/binfmts.h>
  #include <linux/personality.h>
@@ -1802,8 +1920,9 @@
  
  #include <asm/system.h>
  #include <asm/uaccess.h>
---- linux-2.6.22.2/arch/x86_64/ia32/ia32_binfmt.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/ia32/ia32_binfmt.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/ia32/ia32_binfmt.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32_binfmt.c
+--- linux-2.6.22.9/arch/x86_64/ia32/ia32_binfmt.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32_binfmt.c	2007-06-15 02:37:03 +0200
 @@ -324,7 +324,8 @@ int ia32_setup_arg_pages(struct linux_bi
  			kmem_cache_free(vm_area_cachep, mpnt);
  			return ret;
@@ -1814,9 +1933,10 @@
  	} 
  
  	for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
---- linux-2.6.22.2/arch/x86_64/ia32/ia32entry.S	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/ia32/ia32entry.S	2007-07-07 03:52:53 +0200
-@@ -668,7 +668,7 @@ ia32_sys_call_table:
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/ia32/ia32entry.S linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32entry.S
+--- linux-2.6.22.9/arch/x86_64/ia32/ia32entry.S	2007-09-30 15:54:33 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/ia32entry.S	2007-10-01 15:25:34 +0200
+@@ -680,7 +680,7 @@ ia32_sys_call_table:
  	.quad sys_tgkill		/* 270 */
  	.quad compat_sys_utimes
  	.quad sys32_fadvise64_64
@@ -1825,8 +1945,9 @@
  	.quad sys_mbind
  	.quad compat_sys_get_mempolicy	/* 275 */
  	.quad sys_set_mempolicy
---- linux-2.6.22.2/arch/x86_64/ia32/sys_ia32.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/ia32/sys_ia32.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/ia32/sys_ia32.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/sys_ia32.c
+--- linux-2.6.22.9/arch/x86_64/ia32/sys_ia32.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/sys_ia32.c	2007-07-07 03:52:53 +0200
 @@ -454,7 +454,7 @@ sys32_gettimeofday(struct compat_timeval
  {
  	if (tv) {
@@ -1836,8 +1957,9 @@
  		if (put_tv32(tv, &ktv))
  			return -EFAULT;
  	}
---- linux-2.6.22.2/arch/x86_64/ia32/syscall32.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/ia32/syscall32.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/ia32/syscall32.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/syscall32.c
+--- linux-2.6.22.9/arch/x86_64/ia32/syscall32.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/ia32/syscall32.c	2007-06-15 02:37:03 +0200
 @@ -10,6 +10,7 @@
  #include <linux/init.h>
  #include <linux/stringify.h>
@@ -1846,8 +1968,9 @@
  #include <asm/proto.h>
  #include <asm/tlbflush.h>
  #include <asm/ia32_unistd.h>
---- linux-2.6.22.2/arch/x86_64/kernel/process.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/kernel/process.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/kernel/process.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/kernel/process.c
+--- linux-2.6.22.9/arch/x86_64/kernel/process.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/kernel/process.c	2007-06-15 02:37:03 +0200
 @@ -54,7 +54,8 @@
  
  asmlinkage extern void ret_from_fork(void);
@@ -1869,8 +1992,9 @@
  		init_utsname()->release,
  		(int)strcspn(init_utsname()->version, " "),
  		init_utsname()->version);
---- linux-2.6.22.2/arch/x86_64/kernel/traps.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/kernel/traps.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/kernel/traps.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/kernel/traps.c
+--- linux-2.6.22.9/arch/x86_64/kernel/traps.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/kernel/traps.c	2007-06-17 05:54:16 +0200
 @@ -413,8 +413,9 @@ void show_registers(struct pt_regs *regs
  	rsp = regs->rsp;
  	printk("CPU %d ", cpu);
@@ -1905,8 +2029,9 @@
  			       regs->rip, regs->rsp, error_code); 
  
  		force_sig(SIGSEGV, tsk);
---- linux-2.6.22.2/arch/x86_64/mm/fault.c	2007-07-09 13:18:08 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/arch/x86_64/mm/fault.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/arch/x86_64/mm/fault.c linux-2.6.22.9-vs2.2.0.4/arch/x86_64/mm/fault.c
+--- linux-2.6.22.9/arch/x86_64/mm/fault.c	2007-07-09 13:18:08 +0200
++++ linux-2.6.22.9-vs2.2.0.4/arch/x86_64/mm/fault.c	2007-06-17 05:54:16 +0200
 @@ -497,10 +497,10 @@ bad_area_nosemaphore:
  
  		if (exception_trace && unhandled_signal(tsk, SIGSEGV)) {
@@ -1931,8 +2056,9 @@
  	if (error_code & 4)
  		do_exit(SIGKILL);
  	goto no_context;
---- linux-2.6.22.2/drivers/block/Kconfig	2007-07-09 13:18:16 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/block/Kconfig	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/block/Kconfig linux-2.6.22.9-vs2.2.0.4/drivers/block/Kconfig
+--- linux-2.6.22.9/drivers/block/Kconfig	2007-07-09 13:18:16 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/block/Kconfig	2007-06-15 02:37:03 +0200
 @@ -311,6 +311,13 @@ config BLK_DEV_CRYPTOLOOP
  	  instead, which can be configured to be on-disk compatible with the
  	  cryptoloop device.
@@ -1947,16 +2073,18 @@
  config BLK_DEV_NBD
  	tristate "Network block device support"
  	depends on NET
---- linux-2.6.22.2/drivers/block/Makefile	2007-02-06 03:00:26 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/block/Makefile	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/block/Makefile linux-2.6.22.9-vs2.2.0.4/drivers/block/Makefile
+--- linux-2.6.22.9/drivers/block/Makefile	2007-02-06 03:00:26 +0100
++++ linux-2.6.22.9-vs2.2.0.4/drivers/block/Makefile	2007-06-15 02:37:03 +0200
 @@ -28,4 +28,5 @@ obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryp
  obj-$(CONFIG_VIODASD)		+= viodasd.o
  obj-$(CONFIG_BLK_DEV_SX8)	+= sx8.o
  obj-$(CONFIG_BLK_DEV_UB)	+= ub.o
 +obj-$(CONFIG_BLK_DEV_VROOT)	+= vroot.o
  
---- linux-2.6.22.2/drivers/block/loop.c	2007-07-09 13:18:16 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/block/loop.c	2007-06-17 05:54:16 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/block/loop.c linux-2.6.22.9-vs2.2.0.4/drivers/block/loop.c
+--- linux-2.6.22.9/drivers/block/loop.c	2007-07-09 13:18:16 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/block/loop.c	2007-08-16 04:07:14 +0200
 @@ -74,6 +74,7 @@
  #include <linux/highmem.h>
  #include <linux/gfp.h>
@@ -1973,7 +2101,15 @@
  	lo->lo_backing_file = file;
  	lo->transfer = transfer_none;
  	lo->ioctl = NULL;
-@@ -930,7 +932,7 @@ loop_set_status(struct loop_device *lo, 
+@@ -909,6 +911,7 @@ static int loop_clr_fd(struct loop_devic
+ 	lo->lo_encrypt_key_size = 0;
+ 	lo->lo_flags = 0;
+ 	lo->lo_thread = NULL;
++	lo->lo_xid = 0;
+ 	memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE);
+ 	memset(lo->lo_crypt_name, 0, LO_NAME_SIZE);
+ 	memset(lo->lo_file_name, 0, LO_NAME_SIZE);
+@@ -930,7 +933,7 @@ loop_set_status(struct loop_device *lo, 
  	struct loop_func_table *xfer;
  
  	if (lo->lo_encrypt_key_size && lo->lo_key_owner != current->uid &&
@@ -1982,7 +2118,7 @@
  		return -EPERM;
  	if (lo->lo_state != Lo_bound)
  		return -ENXIO;
-@@ -1010,7 +1012,8 @@ loop_get_status(struct loop_device *lo, 
+@@ -1010,7 +1013,8 @@ loop_get_status(struct loop_device *lo, 
  	memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE);
  	info->lo_encrypt_type =
  		lo->lo_encryption ? lo->lo_encryption->number : 0;
@@ -1992,7 +2128,7 @@
  		info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
  		memcpy(info->lo_encrypt_key, lo->lo_encrypt_key,
  		       lo->lo_encrypt_key_size);
-@@ -1321,6 +1324,9 @@ static int lo_open(struct inode *inode, 
+@@ -1321,6 +1325,9 @@ static int lo_open(struct inode *inode, 
  {
  	struct loop_device *lo = inode->i_bdev->bd_disk->private_data;
  
@@ -2002,8 +2138,9 @@
  	mutex_lock(&lo->lo_ctl_mutex);
  	lo->lo_refcnt++;
  	mutex_unlock(&lo->lo_ctl_mutex);
---- linux-2.6.22.2/drivers/block/vroot.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/block/vroot.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/block/vroot.c linux-2.6.22.9-vs2.2.0.4/drivers/block/vroot.c
+--- linux-2.6.22.9/drivers/block/vroot.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/drivers/block/vroot.c	2007-06-15 02:37:03 +0200
 @@ -0,0 +1,281 @@
 +/*
 + *  linux/drivers/block/vroot.c
@@ -2286,8 +2423,9 @@
 +
 +#endif
 +
---- linux-2.6.22.2/drivers/char/sysrq.c	2007-07-09 13:18:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/char/sysrq.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/char/sysrq.c linux-2.6.22.9-vs2.2.0.4/drivers/char/sysrq.c
+--- linux-2.6.22.9/drivers/char/sysrq.c	2007-07-09 13:18:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/char/sysrq.c	2007-06-15 02:37:03 +0200
 @@ -36,6 +36,7 @@
  #include <linux/kexec.h>
  #include <linux/irq.h>
@@ -2340,8 +2478,9 @@
  	else
  		retval = -1;
  	return retval;
---- linux-2.6.22.2/drivers/char/tty_io.c	2007-07-09 13:18:20 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/char/tty_io.c	2007-07-17 03:02:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/char/tty_io.c linux-2.6.22.9-vs2.2.0.4/drivers/char/tty_io.c
+--- linux-2.6.22.9/drivers/char/tty_io.c	2007-07-09 13:18:20 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/char/tty_io.c	2007-07-17 03:02:15 +0200
 @@ -103,6 +103,7 @@
  #include <linux/selection.h>
  
@@ -2375,8 +2514,9 @@
  	if (pgrp_nr < 0)
  		return -EINVAL;
  	rcu_read_lock();
---- linux-2.6.22.2/drivers/infiniband/hw/ipath/ipath_user_pages.c	2007-02-06 03:00:37 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/infiniband/hw/ipath/ipath_user_pages.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/infiniband/hw/ipath/ipath_user_pages.c linux-2.6.22.9-vs2.2.0.4/drivers/infiniband/hw/ipath/ipath_user_pages.c
+--- linux-2.6.22.9/drivers/infiniband/hw/ipath/ipath_user_pages.c	2007-02-06 03:00:37 +0100
++++ linux-2.6.22.9-vs2.2.0.4/drivers/infiniband/hw/ipath/ipath_user_pages.c	2007-06-15 02:37:03 +0200
 @@ -33,6 +33,7 @@
  
  #include <linux/mm.h>
@@ -2422,8 +2562,9 @@
  	up_write(&work->mm->mmap_sem);
  	mmput(work->mm);
  	kfree(work);
---- linux-2.6.22.2/drivers/md/dm-ioctl.c	2007-05-02 19:24:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/md/dm-ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/md/dm-ioctl.c linux-2.6.22.9-vs2.2.0.4/drivers/md/dm-ioctl.c
+--- linux-2.6.22.9/drivers/md/dm-ioctl.c	2007-05-02 19:24:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/md/dm-ioctl.c	2007-06-15 02:37:03 +0200
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/dm-ioctl.h>
@@ -2505,8 +2646,9 @@
  		return -EACCES;
  
  	if (_IOC_TYPE(command) != DM_IOCTL)
---- linux-2.6.22.2/drivers/md/dm.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/md/dm.c	2007-08-12 12:21:50 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/md/dm.c linux-2.6.22.9-vs2.2.0.4/drivers/md/dm.c
+--- linux-2.6.22.9/drivers/md/dm.c	2007-09-05 03:37:49 +0200
++++ linux-2.6.22.9-vs2.2.0.4/drivers/md/dm.c	2007-08-12 12:21:50 +0200
 @@ -21,6 +21,7 @@
  #include <linux/hdreg.h>
  #include <linux/blktrace_api.h>
@@ -2580,8 +2722,9 @@
  
  	md->queue = blk_alloc_queue(GFP_KERNEL);
  	if (!md->queue)
---- linux-2.6.22.2/drivers/md/dm.h	2007-02-06 03:00:41 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/drivers/md/dm.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/drivers/md/dm.h linux-2.6.22.9-vs2.2.0.4/drivers/md/dm.h
+--- linux-2.6.22.9/drivers/md/dm.h	2007-02-06 03:00:41 +0100
++++ linux-2.6.22.9-vs2.2.0.4/drivers/md/dm.h	2007-06-15 02:37:03 +0200
 @@ -91,6 +91,8 @@ void dm_put_target_type(struct target_ty
  int dm_target_iterate(void (*iter_func)(struct target_type *tt,
  					void *param), void *param);
@@ -2591,8 +2734,9 @@
  /*-----------------------------------------------------------------
   * Useful inlines.
   *---------------------------------------------------------------*/
---- linux-2.6.22.2/fs/attr.c	2007-07-09 13:19:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/attr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/attr.c linux-2.6.22.9-vs2.2.0.4/fs/attr.c
+--- linux-2.6.22.9/fs/attr.c	2007-07-09 13:19:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/attr.c	2007-06-15 02:37:03 +0200
 @@ -14,6 +14,9 @@
  #include <linux/fcntl.h>
  #include <linux/quotaops.h>
@@ -2653,8 +2797,9 @@
  				error = DQUOT_TRANSFER(inode, attr) ? -EDQUOT : 0;
  			if (!error)
  				error = inode_setattr(inode, attr);
---- linux-2.6.22.2/fs/binfmt_aout.c	2007-02-06 03:01:16 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/binfmt_aout.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/binfmt_aout.c linux-2.6.22.9-vs2.2.0.4/fs/binfmt_aout.c
+--- linux-2.6.22.9/fs/binfmt_aout.c	2007-02-06 03:01:16 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/binfmt_aout.c	2007-06-15 02:37:03 +0200
 @@ -24,6 +24,7 @@
  #include <linux/binfmts.h>
  #include <linux/personality.h>
@@ -2663,8 +2808,9 @@
  
  #include <asm/system.h>
  #include <asm/uaccess.h>
---- linux-2.6.22.2/fs/binfmt_elf.c	2007-07-09 13:19:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/binfmt_elf.c	2007-07-09 13:11:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/binfmt_elf.c linux-2.6.22.9-vs2.2.0.4/fs/binfmt_elf.c
+--- linux-2.6.22.9/fs/binfmt_elf.c	2007-07-09 13:19:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/binfmt_elf.c	2007-07-09 13:11:54 +0200
 @@ -39,6 +39,7 @@
  #include <linux/random.h>
  #include <linux/elf.h>
@@ -2673,8 +2819,9 @@
  #include <asm/uaccess.h>
  #include <asm/param.h>
  #include <asm/page.h>
---- linux-2.6.22.2/fs/binfmt_flat.c	2007-07-09 13:19:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/binfmt_flat.c	2007-06-17 05:54:17 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/binfmt_flat.c linux-2.6.22.9-vs2.2.0.4/fs/binfmt_flat.c
+--- linux-2.6.22.9/fs/binfmt_flat.c	2007-07-09 13:19:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/binfmt_flat.c	2007-06-17 05:54:17 +0200
 @@ -36,6 +36,7 @@
  #include <linux/init.h>
  #include <linux/flat.h>
@@ -2683,8 +2830,9 @@
  
  #include <asm/byteorder.h>
  #include <asm/system.h>
---- linux-2.6.22.2/fs/binfmt_som.c	2006-11-30 21:19:19 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/binfmt_som.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/binfmt_som.c linux-2.6.22.9-vs2.2.0.4/fs/binfmt_som.c
+--- linux-2.6.22.9/fs/binfmt_som.c	2006-11-30 21:19:19 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/binfmt_som.c	2007-06-15 02:37:03 +0200
 @@ -28,6 +28,7 @@
  #include <linux/shm.h>
  #include <linux/personality.h>
@@ -2693,8 +2841,9 @@
  
  #include <asm/a.out.h>
  #include <asm/uaccess.h>
---- linux-2.6.22.2/fs/dcache.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/dcache.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/dcache.c linux-2.6.22.9-vs2.2.0.4/fs/dcache.c
+--- linux-2.6.22.9/fs/dcache.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/dcache.c	2007-06-15 02:37:03 +0200
 @@ -31,6 +31,7 @@
  #include <linux/seqlock.h>
  #include <linux/swap.h>
@@ -2754,8 +2903,9 @@
  			found = dentry;
  		}
  		spin_unlock(&dentry->d_lock);
---- linux-2.6.22.2/fs/devpts/inode.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/devpts/inode.c	2007-06-15 02:41:30 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/devpts/inode.c linux-2.6.22.9-vs2.2.0.4/fs/devpts/inode.c
+--- linux-2.6.22.9/fs/devpts/inode.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/devpts/inode.c	2007-06-15 02:41:30 +0200
 @@ -20,8 +20,22 @@
  #include <linux/devpts_fs.h>
  #include <linux/parser.h>
@@ -2828,8 +2978,9 @@
  	inode->i_private = tty;
  
  	dentry = get_node(number);
---- linux-2.6.22.2/fs/ecryptfs/inode.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ecryptfs/inode.c	2007-08-12 12:21:51 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ecryptfs/inode.c linux-2.6.22.9-vs2.2.0.4/fs/ecryptfs/inode.c
+--- linux-2.6.22.9/fs/ecryptfs/inode.c	2007-09-05 03:37:49 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ecryptfs/inode.c	2007-08-12 12:21:51 +0200
 @@ -423,7 +423,7 @@ static int ecryptfs_link(struct dentry *
  	dget(lower_new_dentry);
  	lower_dir_dentry = lock_parent(lower_new_dentry);
@@ -2884,8 +3035,9 @@
  	if (rc || !lower_dentry->d_inode)
  		goto out;
  	rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb, 0);
---- linux-2.6.22.2/fs/exec.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/exec.c	2007-06-15 03:12:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/exec.c linux-2.6.22.9-vs2.2.0.4/fs/exec.c
+--- linux-2.6.22.9/fs/exec.c	2007-09-05 03:37:49 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/exec.c	2007-09-05 03:05:52 +0200
 @@ -51,6 +51,7 @@
  #include <linux/cn_proc.h>
  #include <linux/audit.h>
@@ -2913,8 +3065,9 @@
  				rc = snprintf(out_ptr, out_end - out_ptr,
  					      "%lu", tv.tv_sec);
  				if (rc > out_end - out_ptr)
---- linux-2.6.22.2/fs/ext2/balloc.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/balloc.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/balloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/balloc.c
+--- linux-2.6.22.9/fs/ext2/balloc.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/balloc.c	2007-06-15 02:37:03 +0200
 @@ -16,6 +16,8 @@
  #include <linux/sched.h>
  #include <linux/buffer_head.h>
@@ -2968,8 +3121,9 @@
  	release_blocks(sb, es_alloc);
  out_dquot:
  	DQUOT_FREE_BLOCK(inode, dq_alloc);
---- linux-2.6.22.2/fs/ext2/ext2.h	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/ext2.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/ext2.h linux-2.6.22.9-vs2.2.0.4/fs/ext2/ext2.h
+--- linux-2.6.22.9/fs/ext2/ext2.h	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/ext2.h	2007-06-15 02:37:03 +0200
 @@ -167,6 +167,7 @@ extern const struct file_operations ext2
  extern const struct address_space_operations ext2_aops;
  extern const struct address_space_operations ext2_aops_xip;
@@ -2978,8 +3132,9 @@
  
  /* namei.c */
  extern const struct inode_operations ext2_dir_inode_operations;
---- linux-2.6.22.2/fs/ext2/file.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/file.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/file.c
+--- linux-2.6.22.9/fs/ext2/file.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/file.c	2007-06-15 02:37:03 +0200
 @@ -54,6 +54,7 @@ const struct file_operations ext2_file_o
  	.release	= ext2_release_file,
  	.fsync		= ext2_sync_file,
@@ -2994,8 +3149,9 @@
  	.permission	= ext2_permission,
 +	.sync_flags	= ext2_sync_flags,
  };
---- linux-2.6.22.2/fs/ext2/ialloc.c	2006-11-30 21:19:19 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/ialloc.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/ialloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/ialloc.c
+--- linux-2.6.22.9/fs/ext2/ialloc.c	2006-11-30 21:19:19 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/ialloc.c	2007-06-15 02:37:03 +0200
 @@ -17,6 +17,8 @@
  #include <linux/backing-dev.h>
  #include <linux/buffer_head.h>
@@ -3051,8 +3207,9 @@
  	make_bad_inode(inode);
  	iput(inode);
  	return ERR_PTR(err);
---- linux-2.6.22.2/fs/ext2/inode.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/inode.c	2007-06-15 02:57:56 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/inode.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/inode.c
+--- linux-2.6.22.9/fs/ext2/inode.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/inode.c	2007-06-15 02:57:56 +0200
 @@ -31,6 +31,7 @@
  #include <linux/writeback.h>
  #include <linux/buffer_head.h>
@@ -3185,8 +3342,9 @@
  		error = DQUOT_TRANSFER(inode, iattr) ? -EDQUOT : 0;
  		if (error)
  			return error;
---- linux-2.6.22.2/fs/ext2/ioctl.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/ioctl.c
+--- linux-2.6.22.9/fs/ext2/ioctl.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -13,6 +13,7 @@
  #include <linux/sched.h>
  #include <linux/compat.h>
@@ -3226,8 +3384,9 @@
  			return -EROFS;
  		if (get_user(inode->i_generation, (int __user *) arg))
  			return -EFAULT;	
---- linux-2.6.22.2/fs/ext2/namei.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/namei.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/namei.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/namei.c
+--- linux-2.6.22.9/fs/ext2/namei.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/namei.c	2007-06-15 02:37:03 +0200
 @@ -31,6 +31,7 @@
   */
  
@@ -3258,8 +3417,9 @@
  	.permission	= ext2_permission,
 +	.sync_flags	= ext2_sync_flags,
  };
---- linux-2.6.22.2/fs/ext2/super.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/super.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/super.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/super.c
+--- linux-2.6.22.9/fs/ext2/super.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/super.c	2007-07-07 03:52:53 +0200
 @@ -321,7 +321,7 @@ enum {
  	Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
  	Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
@@ -3324,8 +3484,9 @@
  	sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
  		((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
  
---- linux-2.6.22.2/fs/ext2/symlink.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/symlink.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/symlink.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/symlink.c
+--- linux-2.6.22.9/fs/ext2/symlink.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/symlink.c	2007-06-15 02:37:03 +0200
 @@ -38,6 +38,7 @@ const struct inode_operations ext2_symli
  	.listxattr	= ext2_listxattr,
  	.removexattr	= generic_removexattr,
@@ -3340,8 +3501,9 @@
  #endif
 +	.sync_flags	= ext2_sync_flags,
  };
---- linux-2.6.22.2/fs/ext2/xattr.c	2007-02-06 03:01:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext2/xattr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext2/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/ext2/xattr.c
+--- linux-2.6.22.9/fs/ext2/xattr.c	2007-02-06 03:01:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext2/xattr.c	2007-06-15 02:37:03 +0200
 @@ -60,6 +60,7 @@
  #include <linux/mbcache.h>
  #include <linux/quotaops.h>
@@ -3379,8 +3541,9 @@
  		DQUOT_FREE_BLOCK(inode, 1);
  	}
  	EXT2_I(inode)->i_file_acl = 0;
---- linux-2.6.22.2/fs/ext3/balloc.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/balloc.c	2007-07-16 06:31:34 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/balloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/balloc.c
+--- linux-2.6.22.9/fs/ext3/balloc.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/balloc.c	2007-07-16 06:31:34 +0200
 @@ -19,6 +19,8 @@
  #include <linux/ext3_jbd.h>
  #include <linux/quotaops.h>
@@ -3487,8 +3650,9 @@
  	if (fatal) {
  		*errp = fatal;
  		ext3_std_error(sb, fatal);
---- linux-2.6.22.2/fs/ext3/file.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/file.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/file.c
+--- linux-2.6.22.9/fs/ext3/file.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/file.c	2007-06-15 02:37:03 +0200
 @@ -121,6 +121,7 @@ const struct file_operations ext3_file_o
  	.release	= ext3_release_file,
  	.fsync		= ext3_sync_file,
@@ -3504,8 +3668,9 @@
 +	.sync_flags	= ext3_sync_flags,
  };
  
---- linux-2.6.22.2/fs/ext3/ialloc.c	2006-11-30 21:19:19 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/ialloc.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/ialloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/ialloc.c
+--- linux-2.6.22.9/fs/ext3/ialloc.c	2006-11-30 21:19:19 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/ialloc.c	2007-06-15 02:37:03 +0200
 @@ -23,6 +23,8 @@
  #include <linux/buffer_head.h>
  #include <linux/random.h>
@@ -3563,8 +3728,9 @@
  	inode->i_flags |= S_NOQUOTA;
  	inode->i_nlink = 0;
  	iput(inode);
---- linux-2.6.22.2/fs/ext3/inode.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/inode.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/inode.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/inode.c
+--- linux-2.6.22.9/fs/ext3/inode.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/inode.c	2007-07-07 03:52:53 +0200
 @@ -36,6 +36,7 @@
  #include <linux/mpage.h>
  #include <linux/uio.h>
@@ -3750,8 +3916,9 @@
  		error = ext3_mark_inode_dirty(handle, inode);
  		ext3_journal_stop(handle);
  	}
---- linux-2.6.22.2/fs/ext3/ioctl.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/ioctl.c
+--- linux-2.6.22.9/fs/ext3/ioctl.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -8,6 +8,7 @@
   */
  
@@ -3868,8 +4035,9 @@
  
  	default:
  		return -ENOTTY;
---- linux-2.6.22.2/fs/ext3/namei.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/namei.c	2007-06-15 03:00:11 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/namei.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/namei.c
+--- linux-2.6.22.9/fs/ext3/namei.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/namei.c	2007-10-01 15:25:35 +0200
 @@ -36,6 +36,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
@@ -3878,7 +4046,7 @@
  
  #include "namei.h"
  #include "xattr.h"
-@@ -1019,6 +1020,7 @@ static struct dentry *ext3_lookup(struct
+@@ -1052,6 +1053,7 @@ static struct dentry *ext3_lookup(struct
  
  		if (!inode)
  			return ERR_PTR(-EACCES);
@@ -3886,7 +4054,7 @@
  	}
  	return d_splice_alias(inode, dentry);
  }
-@@ -2386,6 +2388,7 @@ const struct inode_operations ext3_dir_i
+@@ -2443,6 +2445,7 @@ const struct inode_operations ext3_dir_i
  	.removexattr	= generic_removexattr,
  #endif
  	.permission	= ext3_permission,
@@ -3894,14 +4062,15 @@
  };
  
  const struct inode_operations ext3_special_inode_operations = {
-@@ -2397,4 +2400,5 @@ const struct inode_operations ext3_speci
+@@ -2454,4 +2457,5 @@ const struct inode_operations ext3_speci
  	.removexattr	= generic_removexattr,
  #endif
  	.permission	= ext3_permission,
 +	.sync_flags	= ext3_sync_flags,
  };
---- linux-2.6.22.2/fs/ext3/super.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/super.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/super.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/super.c
+--- linux-2.6.22.9/fs/ext3/super.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/super.c	2007-06-15 02:37:03 +0200
 @@ -674,7 +674,7 @@ enum {
  	Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
  	Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -3966,8 +4135,9 @@
  
  	sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
  		((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
---- linux-2.6.22.2/fs/ext3/symlink.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/symlink.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/symlink.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/symlink.c
+--- linux-2.6.22.9/fs/ext3/symlink.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/symlink.c	2007-06-15 02:37:03 +0200
 @@ -40,6 +40,7 @@ const struct inode_operations ext3_symli
  	.listxattr	= ext3_listxattr,
  	.removexattr	= generic_removexattr,
@@ -3982,8 +4152,9 @@
  #endif
 +	.sync_flags	= ext3_sync_flags,
  };
---- linux-2.6.22.2/fs/ext3/xattr.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext3/xattr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext3/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/ext3/xattr.c
+--- linux-2.6.22.9/fs/ext3/xattr.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext3/xattr.c	2007-06-15 02:37:03 +0200
 @@ -58,6 +58,7 @@
  #include <linux/mbcache.h>
  #include <linux/quotaops.h>
@@ -4025,8 +4196,9 @@
  	goto cleanup;
  
  bad_block:
---- linux-2.6.22.2/fs/ext4/balloc.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/balloc.c	2007-07-16 06:31:34 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/balloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/balloc.c
+--- linux-2.6.22.9/fs/ext4/balloc.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/balloc.c	2007-07-16 06:31:34 +0200
 @@ -19,6 +19,8 @@
  #include <linux/ext4_jbd2.h>
  #include <linux/quotaops.h>
@@ -4132,8 +4304,9 @@
  	if (fatal) {
  		*errp = fatal;
  		ext4_std_error(sb, fatal);
---- linux-2.6.22.2/fs/ext4/file.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/file.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/file.c
+--- linux-2.6.22.9/fs/ext4/file.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/file.c	2007-06-15 02:37:03 +0200
 @@ -121,6 +121,7 @@ const struct file_operations ext4_file_o
  	.release	= ext4_release_file,
  	.fsync		= ext4_sync_file,
@@ -4149,8 +4322,9 @@
 +	.sync_flags	= ext4_sync_flags,
  };
  
---- linux-2.6.22.2/fs/ext4/ialloc.c	2006-11-30 21:19:20 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/ialloc.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/ialloc.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/ialloc.c
+--- linux-2.6.22.9/fs/ext4/ialloc.c	2006-11-30 21:19:20 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/ialloc.c	2007-06-15 02:37:03 +0200
 @@ -24,6 +24,8 @@
  #include <linux/random.h>
  #include <linux/bitops.h>
@@ -4208,8 +4382,9 @@
  	inode->i_flags |= S_NOQUOTA;
  	inode->i_nlink = 0;
  	iput(inode);
---- linux-2.6.22.2/fs/ext4/inode.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/inode.c	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/inode.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/inode.c
+--- linux-2.6.22.9/fs/ext4/inode.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/inode.c	2007-07-07 03:52:53 +0200
 @@ -36,6 +36,7 @@
  #include <linux/mpage.h>
  #include <linux/uio.h>
@@ -4394,8 +4569,9 @@
  		error = ext4_mark_inode_dirty(handle, inode);
  		ext4_journal_stop(handle);
  	}
---- linux-2.6.22.2/fs/ext4/ioctl.c	2007-02-06 03:01:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/ioctl.c
+--- linux-2.6.22.9/fs/ext4/ioctl.c	2007-02-06 03:01:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -8,6 +8,7 @@
   */
  
@@ -4513,8 +4689,9 @@
  	default:
  		return -ENOTTY;
  	}
---- linux-2.6.22.2/fs/ext4/namei.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/namei.c	2007-06-15 03:11:13 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/namei.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/namei.c
+--- linux-2.6.22.9/fs/ext4/namei.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/namei.c	2007-10-01 15:25:35 +0200
 @@ -36,6 +36,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
@@ -4523,7 +4700,7 @@
  
  #include "namei.h"
  #include "xattr.h"
-@@ -1017,6 +1018,7 @@ static struct dentry *ext4_lookup(struct
+@@ -1050,6 +1051,7 @@ static struct dentry *ext4_lookup(struct
  
  		if (!inode)
  			return ERR_PTR(-EACCES);
@@ -4531,7 +4708,7 @@
  	}
  	return d_splice_alias(inode, dentry);
  }
-@@ -2384,6 +2386,7 @@ const struct inode_operations ext4_dir_i
+@@ -2441,6 +2443,7 @@ const struct inode_operations ext4_dir_i
  	.removexattr	= generic_removexattr,
  #endif
  	.permission	= ext4_permission,
@@ -4539,14 +4716,15 @@
  };
  
  const struct inode_operations ext4_special_inode_operations = {
-@@ -2395,4 +2398,5 @@ const struct inode_operations ext4_speci
+@@ -2452,4 +2455,5 @@ const struct inode_operations ext4_speci
  	.removexattr	= generic_removexattr,
  #endif
  	.permission	= ext4_permission,
 +	.sync_flags	= ext4_sync_flags,
  };
---- linux-2.6.22.2/fs/ext4/super.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/super.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/super.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/super.c
+--- linux-2.6.22.9/fs/ext4/super.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/super.c	2007-06-15 02:37:03 +0200
 @@ -725,7 +725,7 @@ enum {
  	Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
  	Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -4611,8 +4789,9 @@
  
  	sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
  		((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
---- linux-2.6.22.2/fs/ext4/symlink.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/symlink.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/symlink.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/symlink.c
+--- linux-2.6.22.9/fs/ext4/symlink.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/symlink.c	2007-06-15 02:37:03 +0200
 @@ -40,6 +40,7 @@ const struct inode_operations ext4_symli
  	.listxattr	= ext4_listxattr,
  	.removexattr	= generic_removexattr,
@@ -4627,8 +4806,9 @@
  #endif
 +	.sync_flags	= ext4_sync_flags,
  };
---- linux-2.6.22.2/fs/ext4/xattr.c	2007-05-02 19:25:17 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ext4/xattr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ext4/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/ext4/xattr.c
+--- linux-2.6.22.9/fs/ext4/xattr.c	2007-05-02 19:25:17 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ext4/xattr.c	2007-06-15 02:37:03 +0200
 @@ -58,6 +58,7 @@
  #include <linux/mbcache.h>
  #include <linux/quotaops.h>
@@ -4670,8 +4850,9 @@
  	goto cleanup;
  
  bad_block:
---- linux-2.6.22.2/fs/fcntl.c	2007-02-06 03:01:18 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/fcntl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/fcntl.c linux-2.6.22.9-vs2.2.0.4/fs/fcntl.c
+--- linux-2.6.22.9/fs/fcntl.c	2007-02-06 03:01:18 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/fcntl.c	2007-06-15 02:37:03 +0200
 @@ -18,6 +18,7 @@
  #include <linux/ptrace.h>
  #include <linux/signal.h>
@@ -4707,8 +4888,9 @@
  	err = newfd;
  out:
  	return err;
---- linux-2.6.22.2/fs/file_table.c	2007-07-09 13:19:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/file_table.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/file_table.c linux-2.6.22.9-vs2.2.0.4/fs/file_table.c
+--- linux-2.6.22.9/fs/file_table.c	2007-07-09 13:19:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/file_table.c	2007-06-15 02:37:03 +0200
 @@ -20,6 +20,8 @@
  #include <linux/fsnotify.h>
  #include <linux/sysctl.h>
@@ -4745,8 +4927,9 @@
  		file_kill(file);
  		file_free(file);
  	}
---- linux-2.6.22.2/fs/hfsplus/ioctl.c	2006-11-30 21:19:25 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/hfsplus/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/hfsplus/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/hfsplus/ioctl.c
+--- linux-2.6.22.9/fs/hfsplus/ioctl.c	2006-11-30 21:19:25 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/hfsplus/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -16,6 +16,7 @@
  #include <linux/fs.h>
  #include <linux/sched.h>
@@ -4765,8 +4948,9 @@
  			return -EROFS;
  
  		if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
---- linux-2.6.22.2/fs/inode.c	2007-07-09 13:19:24 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/inode.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/inode.c linux-2.6.22.9-vs2.2.0.4/fs/inode.c
+--- linux-2.6.22.9/fs/inode.c	2007-07-09 13:19:24 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/inode.c	2007-06-15 02:37:03 +0200
 @@ -115,6 +115,9 @@ static struct inode *alloc_inode(struct 
  		struct address_space * const mapping = &inode->i_data;
  
@@ -4786,8 +4970,9 @@
  /**
   * clear_inode - clear an inode
   * @inode: inode to clear
---- linux-2.6.22.2/fs/ioctl.c	2007-07-09 13:19:24 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ioctl.c	2007-06-15 03:12:40 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/ioctl.c
+--- linux-2.6.22.9/fs/ioctl.c	2007-07-09 13:19:24 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ioctl.c	2007-06-15 03:12:40 +0200
 @@ -13,10 +13,19 @@
  #include <linux/security.h>
  #include <linux/module.h>
@@ -4857,8 +5042,9 @@
  		default:
  			if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
  				error = file_ioctl(filp, cmd, arg);
---- linux-2.6.22.2/fs/ioprio.c	2007-05-02 19:25:18 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ioprio.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ioprio.c linux-2.6.22.9-vs2.2.0.4/fs/ioprio.c
+--- linux-2.6.22.9/fs/ioprio.c	2007-05-02 19:25:18 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ioprio.c	2007-06-15 02:37:03 +0200
 @@ -25,6 +25,7 @@
  #include <linux/capability.h>
  #include <linux/syscalls.h>
@@ -4903,8 +5089,9 @@
  
  			if (!user)
  				break;
---- linux-2.6.22.2/fs/jfs/acl.c	2006-11-30 21:19:25 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/acl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/acl.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/acl.c
+--- linux-2.6.22.9/fs/jfs/acl.c	2006-11-30 21:19:25 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/acl.c	2007-06-15 02:37:03 +0200
 @@ -232,7 +232,8 @@ int jfs_setattr(struct dentry *dentry, s
  		return rc;
  
@@ -4915,8 +5102,9 @@
  		if (DQUOT_TRANSFER(inode, iattr))
  			return -EDQUOT;
  	}
---- linux-2.6.22.2/fs/jfs/file.c	2007-05-02 19:25:18 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/file.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/file.c
+--- linux-2.6.22.9/fs/jfs/file.c	2007-05-02 19:25:18 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/file.c	2007-06-15 02:37:03 +0200
 @@ -98,6 +98,7 @@ const struct inode_operations jfs_file_i
  	.setattr	= jfs_setattr,
  	.permission	= jfs_permission,
@@ -4933,8 +5121,9 @@
  	.splice_read	= generic_file_splice_read,
  	.splice_write	= generic_file_splice_write,
  	.fsync		= jfs_fsync,
---- linux-2.6.22.2/fs/jfs/inode.c	2007-07-09 13:19:26 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/inode.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/inode.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/inode.c
+--- linux-2.6.22.9/fs/jfs/inode.c	2007-07-09 13:19:26 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/inode.c	2007-06-15 02:37:03 +0200
 @@ -22,6 +22,7 @@
  #include <linux/buffer_head.h>
  #include <linux/pagemap.h>
@@ -4951,8 +5140,9 @@
  	}
  
  	clear_inode(inode);
---- linux-2.6.22.2/fs/jfs/ioctl.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/ioctl.c
+--- linux-2.6.22.9/fs/jfs/ioctl.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -10,6 +10,7 @@
  #include <linux/capability.h>
  #include <linux/time.h>
@@ -4982,8 +5172,9 @@
  			if (!capable(CAP_LINUX_IMMUTABLE))
  				return -EPERM;
  		}
---- linux-2.6.22.2/fs/jfs/jfs_dinode.h	2006-11-30 21:19:25 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_dinode.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_dinode.h linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_dinode.h
+--- linux-2.6.22.9/fs/jfs/jfs_dinode.h	2006-11-30 21:19:25 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_dinode.h	2007-06-15 02:37:03 +0200
 @@ -162,9 +162,12 @@ struct dinode {
  #define JFS_APPEND_FL		0x01000000 /* writes to file may only append */
  #define JFS_IMMUTABLE_FL	0x02000000 /* Immutable file */
@@ -4999,8 +5190,9 @@
  
  /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
  #define JFS_IOC_GETFLAGS	_IOR('f', 1, long)
---- linux-2.6.22.2/fs/jfs/jfs_dtree.c	2007-02-06 03:01:24 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_dtree.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_dtree.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_dtree.c
+--- linux-2.6.22.9/fs/jfs/jfs_dtree.c	2007-02-06 03:01:24 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_dtree.c	2007-06-15 02:37:03 +0200
 @@ -102,6 +102,7 @@
  
  #include <linux/fs.h>
@@ -5112,8 +5304,9 @@
  				/* Free quota allocation */
  				DQUOT_FREE_BLOCK(ip, xlen);
  
---- linux-2.6.22.2/fs/jfs/jfs_extent.c	2006-11-30 21:19:25 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_extent.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_extent.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_extent.c
+--- linux-2.6.22.9/fs/jfs/jfs_extent.c	2006-11-30 21:19:25 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_extent.c	2007-06-15 02:37:03 +0200
 @@ -18,6 +18,7 @@
  
  #include <linux/fs.h>
@@ -5175,8 +5368,9 @@
  			DQUOT_FREE_BLOCK(ip, nxlen);
  			goto exit;
  		}
---- linux-2.6.22.2/fs/jfs/jfs_filsys.h	2007-02-06 03:01:24 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_filsys.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_filsys.h linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_filsys.h
+--- linux-2.6.22.9/fs/jfs/jfs_filsys.h	2007-02-06 03:01:24 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_filsys.h	2007-06-15 02:37:03 +0200
 @@ -264,6 +264,7 @@
  #define JFS_NAME_MAX	255
  #define JFS_PATH_MAX	BPSIZE
@@ -5185,8 +5379,9 @@
  
  /*
   *	file system state (superblock state)
---- linux-2.6.22.2/fs/jfs/jfs_imap.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_imap.c	2007-06-15 03:01:50 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_imap.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_imap.c
+--- linux-2.6.22.9/fs/jfs/jfs_imap.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_imap.c	2007-06-15 03:01:50 +0200
 @@ -45,6 +45,7 @@
  #include <linux/buffer_head.h>
  #include <linux/pagemap.h>
@@ -5246,8 +5441,9 @@
  	jfs_get_inode_flags(jfs_ip);
  	/*
  	 * mode2 is only needed for storing the higher order bits.
---- linux-2.6.22.2/fs/jfs/jfs_inode.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_inode.c	2007-07-19 08:09:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_inode.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_inode.c
+--- linux-2.6.22.9/fs/jfs/jfs_inode.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_inode.c	2007-07-19 08:09:20 +0200
 @@ -18,6 +18,8 @@
  
  #include <linux/fs.h>
@@ -5327,8 +5523,9 @@
  		DQUOT_DROP(inode);
  		inode->i_flags |= S_NOQUOTA;
  		inode->i_nlink = 0;
---- linux-2.6.22.2/fs/jfs/jfs_inode.h	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_inode.h	2007-06-15 03:02:28 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_inode.h linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_inode.h
+--- linux-2.6.22.9/fs/jfs/jfs_inode.h	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_inode.h	2007-06-15 03:02:28 +0200
 @@ -33,6 +33,7 @@ extern void jfs_free_zero_link(struct in
  extern struct dentry *jfs_get_parent(struct dentry *dentry);
  extern void jfs_get_inode_flags(struct jfs_inode_info *);
@@ -5337,8 +5534,9 @@
  extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
  
  extern const struct address_space_operations jfs_aops;
---- linux-2.6.22.2/fs/jfs/jfs_xtree.c	2007-05-02 19:25:18 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/jfs_xtree.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/jfs_xtree.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_xtree.c
+--- linux-2.6.22.9/fs/jfs/jfs_xtree.c	2007-05-02 19:25:18 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/jfs_xtree.c	2007-06-15 02:37:03 +0200
 @@ -21,6 +21,7 @@
  
  #include <linux/fs.h>
@@ -5422,8 +5620,9 @@
  	/* update quota allocation to reflect freed blocks */
  	DQUOT_FREE_BLOCK(ip, nfreed);
  
---- linux-2.6.22.2/fs/jfs/namei.c	2007-05-02 19:25:18 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/namei.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/namei.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/namei.c
+--- linux-2.6.22.9/fs/jfs/namei.c	2007-05-02 19:25:18 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/namei.c	2007-06-15 02:37:03 +0200
 @@ -20,6 +20,7 @@
  #include <linux/fs.h>
  #include <linux/ctype.h>
@@ -5448,8 +5647,9 @@
  };
  
  const struct file_operations jfs_dir_operations = {
---- linux-2.6.22.2/fs/jfs/super.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/super.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/super.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/super.c
+--- linux-2.6.22.9/fs/jfs/super.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/super.c	2007-06-15 02:37:03 +0200
 @@ -194,7 +194,8 @@ static void jfs_put_super(struct super_b
  enum {
  	Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
@@ -5516,8 +5716,9 @@
  
  	if (newLVSize) {
  		printk(KERN_ERR "resize option for remount only\n");
---- linux-2.6.22.2/fs/jfs/xattr.c	2006-11-30 21:19:26 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/jfs/xattr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/jfs/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/jfs/xattr.c
+--- linux-2.6.22.9/fs/jfs/xattr.c	2006-11-30 21:19:26 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/jfs/xattr.c	2007-06-15 02:37:03 +0200
 @@ -23,6 +23,7 @@
  #include <linux/posix_acl_xattr.h>
  #include <linux/quotaops.h>
@@ -5595,8 +5796,9 @@
  
  	inode->i_ctime = CURRENT_TIME;
  
---- linux-2.6.22.2/fs/libfs.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/libfs.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/libfs.c linux-2.6.22.9-vs2.2.0.4/fs/libfs.c
+--- linux-2.6.22.9/fs/libfs.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/libfs.c	2007-06-15 02:37:03 +0200
 @@ -124,7 +124,8 @@ static inline unsigned char dt_type(stru
   * both impossible due to the lock on directory.
   */
@@ -5643,8 +5845,9 @@
  EXPORT_SYMBOL(generic_read_dir);
  EXPORT_SYMBOL(get_sb_pseudo);
  EXPORT_SYMBOL(simple_commit_write);
---- linux-2.6.22.2/fs/locks.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/locks.c	2007-06-15 03:16:26 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/locks.c linux-2.6.22.9-vs2.2.0.4/fs/locks.c
+--- linux-2.6.22.9/fs/locks.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/locks.c	2007-10-01 15:26:40 +0200
 @@ -125,6 +125,8 @@
  #include <linux/syscalls.h>
  #include <linux/time.h>
@@ -5730,7 +5933,7 @@
 @@ -787,6 +806,7 @@ find_conflict:
  		goto out;
  	locks_copy_lock(new_fl, request);
- 	locks_insert_lock(&inode->i_flock, new_fl);
+ 	locks_insert_lock(before, new_fl);
 +	vx_locks_inc(new_fl);
  	new_fl = NULL;
  	error = 0;
@@ -5830,8 +6033,9 @@
  		lock_get_status(q, fl, ++i, "");
  		move_lock_status(&q, &pos, offset);
  
---- linux-2.6.22.2/fs/namei.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/namei.c	2007-07-17 00:20:00 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/namei.c linux-2.6.22.9-vs2.2.0.4/fs/namei.c
+--- linux-2.6.22.9/fs/namei.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/namei.c	2007-10-01 15:50:20 +0200
 @@ -31,6 +31,11 @@
  #include <linux/file.h>
  #include <linux/fcntl.h>
@@ -6223,7 +6427,7 @@
  	new_dentry = lookup_hash(&newnd);
  	error = PTR_ERR(new_dentry);
  	if (IS_ERR(new_dentry))
-@@ -2650,6 +2744,146 @@ int vfs_follow_link(struct nameidata *nd
+@@ -2650,6 +2744,153 @@ int vfs_follow_link(struct nameidata *nd
  	return __vfs_follow_link(nd, link);
  }
  
@@ -6246,9 +6450,14 @@
 +
 +	vxdprintk(VXD_CBIT(misc, 1), "cow_break_link(»%s«)", pathname);
 +	path = kmalloc(PATH_MAX, GFP_KERNEL);
++	if (!path)
++		goto out;
 +
 +	ret = path_lookup(pathname, LOOKUP_FOLLOW, &old_nd);
 +	vxdprintk(VXD_CBIT(misc, 2), "path_lookup(old): %d", ret);
++	if (ret < 0)
++		goto out_free_path;
++
 +	old_dentry = old_nd.dentry;
 +	old_mnt = old_nd.mnt;
 +	mode = old_dentry->d_inode->i_mode;
@@ -6361,7 +6570,9 @@
 +	path_release(&dir_nd);
 +out_rel_old:
 +	path_release(&old_nd);
++out_free_path:
 +	kfree(path);
++out:
 +	return res;
 +}
 +
@@ -6370,8 +6581,9 @@
  /* get the link contents into pagecache */
  static char *page_getlink(struct dentry * dentry, struct page **ppage)
  {
---- linux-2.6.22.2/fs/namespace.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/namespace.c	2007-06-15 03:24:51 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/namespace.c linux-2.6.22.9-vs2.2.0.4/fs/namespace.c
+--- linux-2.6.22.9/fs/namespace.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/namespace.c	2007-06-15 03:24:51 +0200
 @@ -25,6 +25,11 @@
  #include <linux/security.h>
  #include <linux/mount.h>
@@ -6705,8 +6917,9 @@
 +	atomic_dec(&vs_global_mnt_ns);
  	kfree(ns);
  }
---- linux-2.6.22.2/fs/nfs/client.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/client.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/client.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/client.c
+--- linux-2.6.22.9/fs/nfs/client.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/client.c	2007-06-15 02:37:03 +0200
 @@ -521,6 +521,9 @@ static int nfs_init_server_rpcclient(str
  	if (server->flags & NFS4_MOUNT_INTR)
  		server->client->cl_intr = 1;
@@ -6728,8 +6941,9 @@
  	server->maxfilesize = fsinfo->maxfilesize;
  
  	/* We're airborne Set socket buffersize */
---- linux-2.6.22.2/fs/nfs/dir.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/dir.c	2007-06-15 03:02:49 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/dir.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/dir.c
+--- linux-2.6.22.9/fs/nfs/dir.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/dir.c	2007-06-15 03:02:49 +0200
 @@ -34,6 +34,7 @@
  #include <linux/namei.h>
  #include <linux/mount.h>
@@ -6756,8 +6970,9 @@
  		return 0;
  	return 1;
  }
---- linux-2.6.22.2/fs/nfs/inode.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/inode.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/inode.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/inode.c
+--- linux-2.6.22.9/fs/nfs/inode.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/inode.c	2007-06-15 02:37:03 +0200
 @@ -37,6 +37,7 @@
  #include <linux/vfs.h>
  #include <linux/inet.h>
@@ -6852,8 +7067,9 @@
  
  	if (fattr->valid & (NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4)) {
  		/*
---- linux-2.6.22.2/fs/nfs/nfs3xdr.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/nfs3xdr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/nfs3xdr.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/nfs3xdr.c
+--- linux-2.6.22.9/fs/nfs/nfs3xdr.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/nfs3xdr.c	2007-06-15 02:37:03 +0200
 @@ -22,6 +22,7 @@
  #include <linux/nfs3.h>
  #include <linux/nfs_fs.h>
@@ -6943,8 +7159,9 @@
  	if (args->type == NF3CHR || args->type == NF3BLK) {
  		*p++ = htonl(MAJOR(args->rdev));
  		*p++ = htonl(MINOR(args->rdev));
---- linux-2.6.22.2/fs/nfs/nfsroot.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/nfsroot.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/nfsroot.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/nfsroot.c
+--- linux-2.6.22.9/fs/nfs/nfsroot.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/nfsroot.c	2007-06-15 02:37:03 +0200
 @@ -118,12 +118,12 @@ static int mount_port __initdata = 0;		/
  enum {
  	/* Options that take integer arguments */
@@ -6992,8 +7209,9 @@
  			default:
  				printk(KERN_WARNING "Root-NFS: unknown "
  					"option: %s\n", p);
---- linux-2.6.22.2/fs/nfs/super.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfs/super.c	2007-06-15 03:03:21 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfs/super.c linux-2.6.22.9-vs2.2.0.4/fs/nfs/super.c
+--- linux-2.6.22.9/fs/nfs/super.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfs/super.c	2007-10-01 15:25:35 +0200
 @@ -45,6 +45,7 @@
  #include <linux/inet.h>
  #include <linux/nfs_xdr.h>
@@ -7010,8 +7228,9 @@
  		{ 0, NULL, NULL }
  	};
  	const struct proc_nfs_info *nfs_infop;
---- linux-2.6.22.2/fs/nfsd/auth.c	2006-06-18 04:54:42 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/auth.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/auth.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/auth.c
+--- linux-2.6.22.9/fs/nfsd/auth.c	2006-06-18 04:54:42 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/auth.c	2007-06-15 02:37:03 +0200
 @@ -9,6 +9,7 @@
  #include <linux/sunrpc/svc.h>
  #include <linux/sunrpc/svcauth.h>
@@ -7046,8 +7265,9 @@
  		cap_t(current->cap_effective) &= ~CAP_NFSD_MASK;
  	} else {
  		cap_t(current->cap_effective) |= (CAP_NFSD_MASK &
---- linux-2.6.22.2/fs/nfsd/nfs3xdr.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/nfs3xdr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/nfs3xdr.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs3xdr.c
+--- linux-2.6.22.9/fs/nfsd/nfs3xdr.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs3xdr.c	2007-06-15 02:37:03 +0200
 @@ -21,6 +21,7 @@
  #include <linux/sunrpc/svc.h>
  #include <linux/nfsd/nfsd.h>
@@ -7096,8 +7316,9 @@
  	if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
  		p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
  	} else {
---- linux-2.6.22.2/fs/nfsd/nfs4recover.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/nfs4recover.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/nfs4recover.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs4recover.c
+--- linux-2.6.22.9/fs/nfsd/nfs4recover.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs4recover.c	2007-06-15 02:37:03 +0200
 @@ -156,7 +156,7 @@ nfsd4_create_clid_dir(struct nfs4_client
  		dprintk("NFSD: nfsd4_create_clid_dir: DIRECTORY EXISTS\n");
  		goto out_put;
@@ -7125,8 +7346,9 @@
  	mutex_unlock(&dir->d_inode->i_mutex);
  	return status;
  }
---- linux-2.6.22.2/fs/nfsd/nfs4xdr.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/nfs4xdr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/nfs4xdr.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs4xdr.c
+--- linux-2.6.22.9/fs/nfsd/nfs4xdr.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfs4xdr.c	2007-06-15 02:37:03 +0200
 @@ -56,6 +56,7 @@
  #include <linux/nfsd_idmap.h>
  #include <linux/nfs4.h>
@@ -7156,8 +7378,9 @@
  		if (status == nfserr_resource)
  			goto out_resource;
  		if (status)
---- linux-2.6.22.2/fs/nfsd/nfsxdr.c	2007-07-09 13:19:27 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/nfsxdr.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/nfsxdr.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfsxdr.c
+--- linux-2.6.22.9/fs/nfsd/nfsxdr.c	2007-07-09 13:19:27 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/nfsxdr.c	2007-06-15 02:37:03 +0200
 @@ -15,6 +15,7 @@
  #include <linux/nfsd/nfsd.h>
  #include <linux/nfsd/xdr.h>
@@ -7206,8 +7429,9 @@
  
  	if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
  		*p++ = htonl(NFS_MAXPATHLEN);
---- linux-2.6.22.2/fs/nfsd/vfs.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/nfsd/vfs.c	2007-08-12 12:21:51 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/nfsd/vfs.c linux-2.6.22.9-vs2.2.0.4/fs/nfsd/vfs.c
+--- linux-2.6.22.9/fs/nfsd/vfs.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/nfsd/vfs.c	2007-08-12 12:21:51 +0200
 @@ -1186,13 +1186,13 @@ nfsd_create(struct svc_rqst *rqstp, stru
  		host_err = vfs_create(dirp, dchild, iap->ia_mode, NULL);
  		break;
@@ -7271,8 +7495,9 @@
  				return nfserr_rofs;
  			if (/* (acc & MAY_WRITE) && */ IS_IMMUTABLE(inode))
  				return nfserr_perm;
---- linux-2.6.22.2/fs/ocfs2/dlm/dlmfs.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/dlm/dlmfs.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/dlm/dlmfs.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlm/dlmfs.c
+--- linux-2.6.22.9/fs/ocfs2/dlm/dlmfs.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlm/dlmfs.c	2007-06-15 02:37:03 +0200
 @@ -43,6 +43,7 @@
  #include <linux/init.h>
  #include <linux/string.h>
@@ -7297,8 +7522,9 @@
  	inode->i_blocks = 0;
  	inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
  	inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
---- linux-2.6.22.2/fs/ocfs2/dlmglue.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/dlmglue.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/dlmglue.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlmglue.c
+--- linux-2.6.22.9/fs/ocfs2/dlmglue.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlmglue.c	2007-06-15 02:37:03 +0200
 @@ -1475,6 +1475,7 @@ static void __ocfs2_stuff_meta_lvb(struc
  	lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
  	lvb->lvb_iuid      = cpu_to_be32(inode->i_uid);
@@ -7315,8 +7541,9 @@
  	inode->i_mode    = be16_to_cpu(lvb->lvb_imode);
  	inode->i_nlink   = be16_to_cpu(lvb->lvb_inlink);
  	ocfs2_unpack_timespec(&inode->i_atime,
---- linux-2.6.22.2/fs/ocfs2/dlmglue.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/dlmglue.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/dlmglue.h linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlmglue.h
+--- linux-2.6.22.9/fs/ocfs2/dlmglue.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/dlmglue.h	2007-06-15 02:37:03 +0200
 @@ -34,7 +34,7 @@
  struct ocfs2_meta_lvb {
  	__u8         lvb_version;
@@ -7326,8 +7553,9 @@
  	__be32       lvb_iclusters;
  	__be32       lvb_iuid;
  	__be32       lvb_igid;
---- linux-2.6.22.2/fs/ocfs2/file.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/file.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/file.c
+--- linux-2.6.22.9/fs/ocfs2/file.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/file.c	2007-09-05 03:05:52 +0200
 @@ -943,13 +943,15 @@ int ocfs2_setattr(struct dentry *dentry,
  		mlog(0, "uid change: %d\n", attr->ia_uid);
  	if (attr->ia_valid & ATTR_GID)
@@ -7353,8 +7581,9 @@
  	.permission	= ocfs2_permission,
  };
  
---- linux-2.6.22.2/fs/ocfs2/inode.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/inode.c	2007-06-15 03:10:27 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/inode.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/inode.c
+--- linux-2.6.22.9/fs/ocfs2/inode.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/inode.c	2007-06-15 03:10:27 +0200
 @@ -28,6 +28,7 @@
  #include <linux/slab.h>
  #include <linux/highmem.h>
@@ -7475,8 +7704,9 @@
  	inode->i_mode = le16_to_cpu(fe->i_mode);
  	if (S_ISLNK(inode->i_mode) && le32_to_cpu(fe->i_clusters) == 0)
  		inode->i_blocks = 0;
---- linux-2.6.22.2/fs/ocfs2/inode.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/inode.h	2007-06-15 03:10:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/inode.h linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/inode.h
+--- linux-2.6.22.9/fs/ocfs2/inode.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/inode.h	2007-06-15 03:10:53 +0200
 @@ -142,6 +142,7 @@ int ocfs2_aio_write(struct file *file, s
  
  void ocfs2_set_inode_flags(struct inode *inode);
@@ -7485,8 +7715,9 @@
  
  static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
  {
---- linux-2.6.22.2/fs/ocfs2/ioctl.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ioctl.c
+--- linux-2.6.22.9/fs/ocfs2/ioctl.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -39,7 +39,7 @@ static int ocfs2_get_inode_attr(struct i
  	return status;
  }
@@ -7496,8 +7727,9 @@
  				unsigned mask)
  {
  	struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode);
---- linux-2.6.22.2/fs/ocfs2/ioctl.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/ioctl.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/ioctl.h linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ioctl.h
+--- linux-2.6.22.9/fs/ocfs2/ioctl.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ioctl.h	2007-06-15 02:37:03 +0200
 @@ -10,6 +10,9 @@
  #ifndef OCFS2_IOCTL_H
  #define OCFS2_IOCTL_H
@@ -7508,8 +7740,9 @@
  int ocfs2_ioctl(struct inode * inode, struct file * filp,
  	unsigned int cmd, unsigned long arg);
  long ocfs2_compat_ioctl(struct file *file, unsigned cmd, unsigned long arg);
---- linux-2.6.22.2/fs/ocfs2/namei.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/namei.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/namei.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/namei.c
+--- linux-2.6.22.9/fs/ocfs2/namei.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/namei.c	2007-06-15 02:37:03 +0200
 @@ -40,6 +40,7 @@
  #include <linux/types.h>
  #include <linux/slab.h>
@@ -7558,8 +7791,9 @@
 +	.sync_flags     = ocfs2_sync_flags,
  	.permission	= ocfs2_permission,
  };
---- linux-2.6.22.2/fs/ocfs2/ocfs2.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/ocfs2.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/ocfs2.h linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ocfs2.h
+--- linux-2.6.22.9/fs/ocfs2/ocfs2.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ocfs2.h	2007-06-15 02:37:03 +0200
 @@ -170,6 +170,7 @@ enum ocfs2_mount_options
  	OCFS2_MOUNT_NOINTR  = 1 << 2,   /* Don't catch signals */
  	OCFS2_MOUNT_ERRORS_PANIC = 1 << 3, /* Panic on errors */
@@ -7568,8 +7802,9 @@
  };
  
  #define OCFS2_OSB_SOFT_RO	0x0001
---- linux-2.6.22.2/fs/ocfs2/ocfs2_fs.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/ocfs2_fs.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/ocfs2_fs.h linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ocfs2_fs.h
+--- linux-2.6.22.9/fs/ocfs2/ocfs2_fs.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/ocfs2_fs.h	2007-06-15 02:37:03 +0200
 @@ -152,8 +152,12 @@
  #define OCFS2_NOATIME_FL	(0x00000080)	/* do not update atime */
  #define OCFS2_DIRSYNC_FL	(0x00010000)	/* dirsync behaviour (directories only) */
@@ -7583,8 +7818,9 @@
  
  /*
   * Extent record flags (e_node.leaf.flags)
---- linux-2.6.22.2/fs/ocfs2/super.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/ocfs2/super.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/ocfs2/super.c linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/super.c
+--- linux-2.6.22.9/fs/ocfs2/super.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/ocfs2/super.c	2007-06-15 02:37:03 +0200
 @@ -140,6 +140,7 @@ enum {
  	Opt_data_ordered,
  	Opt_data_writeback,
@@ -7650,8 +7886,9 @@
  		default:
  			mlog(ML_ERROR,
  			     "Unrecognized mount option \"%s\" "
---- linux-2.6.22.2/fs/open.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/open.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/open.c linux-2.6.22.9-vs2.2.0.4/fs/open.c
+--- linux-2.6.22.9/fs/open.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/open.c	2007-06-15 02:37:03 +0200
 @@ -26,22 +26,31 @@
  #include <linux/syscalls.h>
  #include <linux/rcupdate.h>
@@ -7825,8 +8062,9 @@
  }
  
  void fastcall put_unused_fd(unsigned int fd)
---- linux-2.6.22.2/fs/proc/array.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/array.c	2007-06-15 03:04:38 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/array.c linux-2.6.22.9-vs2.2.0.4/fs/proc/array.c
+--- linux-2.6.22.9/fs/proc/array.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/array.c	2007-06-15 03:04:38 +0200
 @@ -75,6 +75,8 @@
  #include <linux/cpuset.h>
  #include <linux/rcupdate.h>
@@ -8011,8 +8249,9 @@
  		tcomm,
  		state,
  		ppid,
---- linux-2.6.22.2/fs/proc/base.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/base.c	2007-06-15 03:06:14 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/base.c linux-2.6.22.9-vs2.2.0.4/fs/proc/base.c
+--- linux-2.6.22.9/fs/proc/base.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/base.c	2007-06-15 03:06:14 +0200
 @@ -73,6 +73,9 @@
  #include <linux/poll.h>
  #include <linux/nsproxy.h>
@@ -8140,8 +8379,9 @@
  		if (proc_task_fill_cache(filp, dirent, filldir, task, tid) < 0) {
  			/* returning this tgid failed, save it as the first
  			 * pid for the next readir call */
---- linux-2.6.22.2/fs/proc/generic.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/generic.c	2007-06-15 03:08:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/generic.c linux-2.6.22.9-vs2.2.0.4/fs/proc/generic.c
+--- linux-2.6.22.9/fs/proc/generic.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/generic.c	2007-06-15 03:08:54 +0200
 @@ -20,6 +20,7 @@
  #include <linux/namei.h>
  #include <linux/bitops.h>
@@ -8203,8 +8443,9 @@
  		} else {
  			kfree(ent);
  			ent = NULL;
---- linux-2.6.22.2/fs/proc/inode.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/inode.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/inode.c linux-2.6.22.9-vs2.2.0.4/fs/proc/inode.c
+--- linux-2.6.22.9/fs/proc/inode.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/inode.c	2007-06-15 02:37:03 +0200
 @@ -160,6 +160,8 @@ struct inode *proc_get_inode(struct supe
  			inode->i_uid = de->uid;
  			inode->i_gid = de->gid;
@@ -8214,8 +8455,9 @@
  		if (de->size)
  			inode->i_size = de->size;
  		if (de->nlink)
---- linux-2.6.22.2/fs/proc/internal.h	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/internal.h	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/internal.h linux-2.6.22.9-vs2.2.0.4/fs/proc/internal.h
+--- linux-2.6.22.9/fs/proc/internal.h	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/internal.h	2007-06-15 02:37:03 +0200
 @@ -10,6 +10,7 @@
   */
  
@@ -8242,8 +8484,9 @@
  static inline int proc_fd(struct inode *inode)
  {
  	return PROC_I(inode)->fd;
---- linux-2.6.22.2/fs/proc/proc_misc.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/proc_misc.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/proc_misc.c linux-2.6.22.9-vs2.2.0.4/fs/proc/proc_misc.c
+--- linux-2.6.22.9/fs/proc/proc_misc.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/proc_misc.c	2007-06-15 02:37:03 +0200
 @@ -53,6 +53,8 @@
  #include <asm/div64.h>
  #include "internal.h"
@@ -8310,8 +8553,9 @@
  		cached = 0;
  
  	get_vmalloc_info(&vmi);
---- linux-2.6.22.2/fs/proc/root.c	2007-05-02 19:25:21 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/proc/root.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/proc/root.c linux-2.6.22.9-vs2.2.0.4/fs/proc/root.c
+--- linux-2.6.22.9/fs/proc/root.c	2007-05-02 19:25:21 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/proc/root.c	2007-06-15 02:37:03 +0200
 @@ -22,6 +22,9 @@
  #include "internal.h"
  
@@ -8330,8 +8574,9 @@
  	proc_sys_init();
  }
  
---- linux-2.6.22.2/fs/quota.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/quota.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/quota.c linux-2.6.22.9-vs2.2.0.4/fs/quota.c
+--- linux-2.6.22.9/fs/quota.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/quota.c	2007-06-15 02:37:03 +0200
 @@ -16,6 +16,7 @@
  #include <linux/buffer_head.h>
  #include <linux/capability.h>
@@ -8437,8 +8682,9 @@
  	sb = get_super(bdev);
  	bdput(bdev);
  	if (!sb)
---- linux-2.6.22.2/fs/read_write.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/read_write.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/read_write.c linux-2.6.22.9-vs2.2.0.4/fs/read_write.c
+--- linux-2.6.22.9/fs/read_write.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/read_write.c	2007-06-15 02:37:03 +0200
 @@ -701,12 +701,77 @@ sys_writev(unsigned long fd, const struc
  	return ret;
  }
@@ -8589,8 +8835,9 @@
  fput_out:
  	fput_light(out_file, fput_needed_out);
  fput_in:
---- linux-2.6.22.2/fs/reiserfs/bitmap.c	2007-02-06 03:01:29 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/bitmap.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/bitmap.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/bitmap.c
+--- linux-2.6.22.9/fs/reiserfs/bitmap.c	2007-02-06 03:01:29 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/bitmap.c	2007-06-15 02:37:03 +0200
 @@ -13,6 +13,7 @@
  #include <linux/reiserfs_fs_sb.h>
  #include <linux/reiserfs_fs_i.h>
@@ -8683,8 +8930,9 @@
  	}
  
  	return CARRY_ON;
---- linux-2.6.22.2/fs/reiserfs/file.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/file.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/file.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/file.c
+--- linux-2.6.22.9/fs/reiserfs/file.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/file.c	2007-06-15 02:37:03 +0200
 @@ -1532,6 +1532,7 @@ const struct file_operations reiserfs_fi
  	.release = reiserfs_file_release,
  	.fsync = reiserfs_sync_file,
@@ -8699,8 +8947,9 @@
  	.permission = reiserfs_permission,
 +	.sync_flags = reiserfs_sync_flags,
  };
---- linux-2.6.22.2/fs/reiserfs/inode.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/inode.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/inode.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/inode.c
+--- linux-2.6.22.9/fs/reiserfs/inode.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/inode.c	2007-06-15 02:37:03 +0200
 @@ -16,6 +16,8 @@
  #include <linux/mpage.h>
  #include <linux/writeback.h>
@@ -8884,8 +9133,9 @@
  				mark_inode_dirty(inode);
  				error =
  				    journal_end(&th, inode->i_sb, jbegin_count);
---- linux-2.6.22.2/fs/reiserfs/ioctl.c	2007-02-06 03:01:29 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/ioctl.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/ioctl.c
+--- linux-2.6.22.9/fs/reiserfs/ioctl.c	2007-02-06 03:01:29 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/ioctl.c	2007-06-15 02:37:03 +0200
 @@ -4,6 +4,7 @@
  
  #include <linux/capability.h>
@@ -8956,8 +9206,9 @@
  			return -EROFS;
  		if (get_user(inode->i_generation, (int __user *)arg))
  			return -EFAULT;
---- linux-2.6.22.2/fs/reiserfs/namei.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/namei.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/namei.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/namei.c
+--- linux-2.6.22.9/fs/reiserfs/namei.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/namei.c	2007-06-15 02:37:03 +0200
 @@ -17,6 +17,7 @@
  #include <linux/reiserfs_acl.h>
  #include <linux/reiserfs_xattr.h>
@@ -9005,8 +9256,9 @@
 +	.sync_flags = reiserfs_sync_flags,
  
  };
---- linux-2.6.22.2/fs/reiserfs/stree.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/stree.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/stree.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/stree.c
+--- linux-2.6.22.9/fs/reiserfs/stree.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/stree.c	2007-06-15 02:37:03 +0200
 @@ -55,6 +55,7 @@
  #include <linux/reiserfs_fs.h>
  #include <linux/buffer_head.h>
@@ -9082,8 +9334,9 @@
 +	}
  	return retval;
  }
---- linux-2.6.22.2/fs/reiserfs/super.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/super.c	2007-06-15 02:37:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/super.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/super.c
+--- linux-2.6.22.9/fs/reiserfs/super.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/super.c	2007-06-15 02:37:03 +0200
 @@ -882,6 +882,14 @@ static int reiserfs_parse_options(struct
  		{"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT},
  		{"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT},
@@ -9123,8 +9376,9 @@
  	rs = SB_DISK_SUPER_BLOCK(s);
  	/* Let's do basic sanity check to verify that underlying device is not
  	   smaller than the filesystem. If the check fails then abort and scream,
---- linux-2.6.22.2/fs/reiserfs/xattr.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/reiserfs/xattr.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/reiserfs/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/xattr.c
+--- linux-2.6.22.9/fs/reiserfs/xattr.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/reiserfs/xattr.c	2007-06-15 02:37:04 +0200
 @@ -35,6 +35,7 @@
  #include <linux/namei.h>
  #include <linux/errno.h>
@@ -9142,8 +9396,9 @@
  		reiserfs_write_unlock_xattrs(inode->i_sb);
  		dput(root);
  	} else {
---- linux-2.6.22.2/fs/stat.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/stat.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/stat.c linux-2.6.22.9-vs2.2.0.4/fs/stat.c
+--- linux-2.6.22.9/fs/stat.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/stat.c	2007-06-15 02:37:04 +0200
 @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod
  	stat->nlink = inode->i_nlink;
  	stat->uid = inode->i_uid;
@@ -9152,8 +9407,9 @@
  	stat->rdev = inode->i_rdev;
  	stat->atime = inode->i_atime;
  	stat->mtime = inode->i_mtime;
---- linux-2.6.22.2/fs/super.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/super.c	2007-06-15 03:26:55 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/super.c linux-2.6.22.9-vs2.2.0.4/fs/super.c
+--- linux-2.6.22.9/fs/super.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/super.c	2007-06-15 03:26:55 +0200
 @@ -37,6 +37,9 @@
  #include <linux/idr.h>
  #include <linux/kobject.h>
@@ -9199,8 +9455,9 @@
   	if (error)
   		goto out_sb;
  
---- linux-2.6.22.2/fs/sysfs/mount.c	2007-07-09 13:19:28 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/sysfs/mount.c	2007-06-17 05:54:17 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/sysfs/mount.c linux-2.6.22.9-vs2.2.0.4/fs/sysfs/mount.c
+--- linux-2.6.22.9/fs/sysfs/mount.c	2007-07-09 13:19:28 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/sysfs/mount.c	2007-06-17 05:54:17 +0200
 @@ -12,8 +12,6 @@
  
  #include "sysfs.h"
@@ -9219,8 +9476,9 @@
  	sb->s_op = &sysfs_ops;
  	sb->s_time_gran = 1;
  	sysfs_sb = sb;
---- linux-2.6.22.2/fs/utimes.c	2007-07-09 13:19:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/utimes.c	2007-07-09 13:11:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/utimes.c linux-2.6.22.9-vs2.2.0.4/fs/utimes.c
+--- linux-2.6.22.9/fs/utimes.c	2007-07-09 13:19:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/utimes.c	2007-07-09 13:11:54 +0200
 @@ -6,6 +6,8 @@
  #include <linux/sched.h>
  #include <linux/stat.h>
@@ -9249,8 +9507,9 @@
  
  	/* Don't worry, the checks are done in inode_change_ok() */
  	newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
---- linux-2.6.22.2/fs/xattr.c	2007-07-09 13:19:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xattr.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xattr.c linux-2.6.22.9-vs2.2.0.4/fs/xattr.c
+--- linux-2.6.22.9/fs/xattr.c	2007-07-09 13:19:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xattr.c	2007-06-15 02:37:04 +0200
 @@ -17,6 +17,7 @@
  #include <linux/module.h>
  #include <linux/fsnotify.h>
@@ -9351,8 +9610,9 @@
  	fput(f);
  	return error;
  }
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_file.c	2007-05-02 19:25:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_file.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_file.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_file.c
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_file.c	2007-05-02 19:25:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_file.c	2007-06-15 02:37:04 +0200
 @@ -453,6 +453,7 @@ const struct file_operations xfs_file_op
  	.aio_read	= xfs_file_aio_read,
  	.aio_write	= xfs_file_aio_write,
@@ -9369,8 +9629,9 @@
  	.splice_read	= xfs_file_splice_read_invis,
  	.splice_write	= xfs_file_splice_write_invis,
  	.unlocked_ioctl	= xfs_file_ioctl_invis,
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_ioctl.c	2007-05-02 19:25:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_ioctl.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_ioctl.c
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_ioctl.c	2007-05-02 19:25:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_ioctl.c	2007-06-15 02:37:04 +0200
 @@ -1128,6 +1128,10 @@ xfs_di2lxflags(
  
  	if (di_flags & XFS_DIFLAG_IMMUTABLE)
@@ -9382,8 +9643,9 @@
  	if (di_flags & XFS_DIFLAG_APPEND)
  		flags |= FS_APPEND_FL;
  	if (di_flags & XFS_DIFLAG_SYNC)
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_iops.c	2007-05-02 19:25:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_iops.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_iops.c
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_iops.c	2007-05-02 19:25:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_iops.c	2007-06-15 02:37:04 +0200
 @@ -51,6 +51,7 @@
  #include <linux/xattr.h>
  #include <linux/namei.h>
@@ -9487,8 +9749,9 @@
  	.removexattr		= xfs_vn_removexattr,
 +	.sync_flags		= xfs_vn_sync_flags,
  };
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_linux.h	2007-05-02 19:25:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_linux.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_linux.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_linux.h
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_linux.h	2007-05-02 19:25:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_linux.h	2007-06-15 02:37:04 +0200
 @@ -129,6 +129,7 @@
  #define current_pid()		(current->pid)
  #define current_fsuid(cred)	(current->fsuid)
@@ -9497,8 +9760,9 @@
  #define current_test_flags(f)	(current->flags & (f))
  #define current_set_flags_nested(sp, f)		\
  		(*(sp) = current->flags, current->flags |= (f))
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_super.c	2007-07-09 13:19:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_super.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_super.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_super.c
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_super.c	2007-07-09 13:19:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_super.c	2007-06-15 02:37:04 +0200
 @@ -157,6 +157,7 @@ xfs_revalidate_inode(
  	inode->i_nlink	= ip->i_d.di_nlink;
  	inode->i_uid	= ip->i_d.di_uid;
@@ -9535,8 +9799,9 @@
  	if (!error)
  		error = bhv_vfs_mntupdate(vfsp, flags, args);
  	kmem_free(args, sizeof(*args));
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_vnode.c	2007-05-02 19:25:22 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_vnode.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_vnode.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_vnode.c
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_vnode.c	2007-05-02 19:25:22 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_vnode.c	2007-06-15 02:37:04 +0200
 @@ -119,6 +119,7 @@ vn_revalidate_core(
  	inode->i_nlink	    = vap->va_nlink;
  	inode->i_uid	    = vap->va_uid;
@@ -9560,8 +9825,9 @@
  	if (vap->va_xflags & XFS_XFLAG_APPEND)
  		inode->i_flags |= S_APPEND;
  	else
---- linux-2.6.22.2/fs/xfs/linux-2.6/xfs_vnode.h	2007-07-09 13:19:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/linux-2.6/xfs_vnode.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/linux-2.6/xfs_vnode.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_vnode.h
+--- linux-2.6.22.9/fs/xfs/linux-2.6/xfs_vnode.h	2007-07-09 13:19:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/linux-2.6/xfs_vnode.h	2007-06-15 02:37:04 +0200
 @@ -350,6 +350,7 @@ typedef struct bhv_vattr {
  	xfs_nlink_t	va_nlink;	/* number of references to file */
  	uid_t		va_uid;		/* owner user id */
@@ -9587,8 +9853,9 @@
  
  #define XFS_AT_STAT	(XFS_AT_TYPE|XFS_AT_MODE|XFS_AT_UID|XFS_AT_GID|\
  		XFS_AT_FSID|XFS_AT_NODEID|XFS_AT_NLINK|XFS_AT_SIZE|\
---- linux-2.6.22.2/fs/xfs/quota/xfs_qm_syscalls.c	2007-07-09 13:19:29 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/quota/xfs_qm_syscalls.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/quota/xfs_qm_syscalls.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/quota/xfs_qm_syscalls.c
+--- linux-2.6.22.9/fs/xfs/quota/xfs_qm_syscalls.c	2007-07-09 13:19:29 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/quota/xfs_qm_syscalls.c	2007-06-15 02:37:04 +0200
 @@ -17,6 +17,7 @@
   */
  
@@ -9633,8 +9900,9 @@
  		return XFS_ERROR(EPERM);
  
  	if ((newlim->d_fieldmask &
---- linux-2.6.22.2/fs/xfs/xfs_clnt.h	2006-06-18 04:54:50 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_clnt.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_clnt.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_clnt.h
+--- linux-2.6.22.9/fs/xfs/xfs_clnt.h	2006-06-18 04:54:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_clnt.h	2007-06-15 02:37:04 +0200
 @@ -99,5 +99,7 @@ struct xfs_mount_args {
   */
  #define XFSMNT2_COMPAT_IOSIZE	0x00000001	/* don't report large preferred
@@ -9643,8 +9911,9 @@
 +
  
  #endif	/* __XFS_CLNT_H__ */
---- linux-2.6.22.2/fs/xfs/xfs_dinode.h	2006-09-20 16:58:40 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_dinode.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_dinode.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_dinode.h
+--- linux-2.6.22.9/fs/xfs/xfs_dinode.h	2006-09-20 16:58:40 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_dinode.h	2007-06-15 02:37:04 +0200
 @@ -53,7 +53,8 @@ typedef struct xfs_dinode_core
  	__uint32_t	di_gid;		/* owner's group id */
  	__uint32_t	di_nlink;	/* number of links to file */
@@ -9682,8 +9951,9 @@
 +	 XFS_DIFLAG_IUNLINK)
  
  #endif	/* __XFS_DINODE_H__ */
---- linux-2.6.22.2/fs/xfs/xfs_fs.h	2006-11-30 21:19:29 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_fs.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_fs.h
+--- linux-2.6.22.9/fs/xfs/xfs_fs.h	2006-11-30 21:19:29 +0100
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_fs.h	2007-06-15 02:37:04 +0200
 @@ -66,6 +66,8 @@ struct fsxattr {
  #define XFS_XFLAG_EXTSIZE	0x00000800	/* extent size allocator hint */
  #define XFS_XFLAG_EXTSZINHERIT	0x00001000	/* inherit inode extent size */
@@ -9703,8 +9973,9 @@
  	__u32		bs_dmevmask;	/* DMIG event mask		*/
  	__u16		bs_dmstate;	/* DMIG state info		*/
  	__u16		bs_aextents;	/* attribute number of extents	*/
---- linux-2.6.22.2/fs/xfs/xfs_inode.c	2007-07-09 13:19:34 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_inode.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_inode.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_inode.c
+--- linux-2.6.22.9/fs/xfs/xfs_inode.c	2007-07-09 13:19:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_inode.c	2007-06-15 02:37:04 +0200
 @@ -49,6 +49,7 @@
  #include "xfs_quota.h"
  #include "xfs_acl.h"
@@ -9770,8 +10041,9 @@
  	ip->i_d.di_projid = prid;
  	memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
  
---- linux-2.6.22.2/fs/xfs/xfs_itable.c	2007-07-09 13:19:34 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_itable.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_itable.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_itable.c
+--- linux-2.6.22.9/fs/xfs/xfs_itable.c	2007-07-09 13:19:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_itable.c	2007-06-15 02:37:04 +0200
 @@ -89,6 +89,7 @@ xfs_bulkstat_one_iget(
  	buf->bs_mode = dic->di_mode;
  	buf->bs_uid = dic->di_uid;
@@ -9788,8 +10060,9 @@
  	buf->bs_size = INT_GET(dic->di_size, ARCH_CONVERT);
  	buf->bs_atime.tv_sec = INT_GET(dic->di_atime.t_sec, ARCH_CONVERT);
  	buf->bs_atime.tv_nsec = INT_GET(dic->di_atime.t_nsec, ARCH_CONVERT);
---- linux-2.6.22.2/fs/xfs/xfs_mount.h	2007-05-02 19:25:23 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_mount.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_mount.h linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_mount.h
+--- linux-2.6.22.9/fs/xfs/xfs_mount.h	2007-05-02 19:25:23 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_mount.h	2007-06-15 02:37:04 +0200
 @@ -464,6 +464,7 @@ typedef struct xfs_mount {
  #define XFS_MOUNT_NO_PERCPU_SB	(1ULL << 23)	/* don't use per-cpu superblock
  						   counters */
@@ -9798,8 +10071,9 @@
  
  /*
   * Default minimum read and write sizes.
---- linux-2.6.22.2/fs/xfs/xfs_vfsops.c	2007-07-09 13:19:34 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_vfsops.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_vfsops.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_vfsops.c
+--- linux-2.6.22.9/fs/xfs/xfs_vfsops.c	2007-07-09 13:19:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_vfsops.c	2007-06-15 02:37:04 +0200
 @@ -300,6 +300,8 @@ xfs_start_flags(
  
  	if (ap->flags2 & XFSMNT2_COMPAT_IOSIZE)
@@ -9848,8 +10122,9 @@
  		} else if (!strcmp(this_char, "osyncisdsync")) {
  			/* no-op, this is now the default */
  			cmn_err(CE_WARN,
---- linux-2.6.22.2/fs/xfs/xfs_vnodeops.c	2007-07-09 13:19:34 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/fs/xfs/xfs_vnodeops.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/fs/xfs/xfs_vnodeops.c linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_vnodeops.c
+--- linux-2.6.22.9/fs/xfs/xfs_vnodeops.c	2007-07-09 13:19:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/fs/xfs/xfs_vnodeops.c	2007-06-15 02:37:04 +0200
 @@ -159,6 +159,7 @@ xfs_getattr(
  	vap->va_mode = ip->i_d.di_mode;
  	vap->va_uid = ip->i_d.di_uid;
@@ -9945,8 +10220,9 @@
  			if (vap->va_xflags & XFS_XFLAG_APPEND)
  				di_flags |= XFS_DIFLAG_APPEND;
  			if (vap->va_xflags & XFS_XFLAG_SYNC)
---- linux-2.6.22.2/include/asm-arm/tlb.h	2006-06-18 04:54:58 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-arm/tlb.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-arm/tlb.h linux-2.6.22.9-vs2.2.0.4/include/asm-arm/tlb.h
+--- linux-2.6.22.9/include/asm-arm/tlb.h	2006-06-18 04:54:58 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-arm/tlb.h	2007-06-15 02:37:04 +0200
 @@ -28,6 +28,7 @@
  #else /* !CONFIG_MMU */
  
@@ -9955,8 +10231,9 @@
  
  /*
   * TLB handling.  This allows us to remove pages from the page
---- linux-2.6.22.2/include/asm-arm26/tlb.h	2006-01-03 17:30:02 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-arm26/tlb.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-arm26/tlb.h linux-2.6.22.9-vs2.2.0.4/include/asm-arm26/tlb.h
+--- linux-2.6.22.9/include/asm-arm26/tlb.h	2006-01-03 17:30:02 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-arm26/tlb.h	2007-06-15 02:37:04 +0200
 @@ -3,6 +3,7 @@
  
  #include <asm/pgalloc.h>
@@ -9965,8 +10242,9 @@
  
  /*
   * TLB handling.  This allows us to remove pages from the page
---- linux-2.6.22.2/include/asm-arm26/unistd.h	2007-02-06 03:01:35 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-arm26/unistd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-arm26/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-arm26/unistd.h
+--- linux-2.6.22.9/include/asm-arm26/unistd.h	2007-02-06 03:01:35 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-arm26/unistd.h	2007-06-15 02:37:04 +0200
 @@ -302,6 +302,8 @@
  #define __NR_mq_getsetattr		(__NR_SYSCALL_BASE+279)
  #define __NR_waitid			(__NR_SYSCALL_BASE+280)
@@ -9976,8 +10254,9 @@
  /*
   * The following SWIs are ARM private. FIXME - make appropriate for arm26
   */
---- linux-2.6.22.2/include/asm-generic/tlb.h	2006-11-30 21:19:31 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-generic/tlb.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-generic/tlb.h linux-2.6.22.9-vs2.2.0.4/include/asm-generic/tlb.h
+--- linux-2.6.22.9/include/asm-generic/tlb.h	2006-11-30 21:19:31 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-generic/tlb.h	2007-06-15 02:37:04 +0200
 @@ -14,6 +14,7 @@
  #define _ASM_GENERIC__TLB_H
  
@@ -9986,8 +10265,9 @@
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
  
---- linux-2.6.22.2/include/asm-ia64/tlb.h	2006-09-20 16:58:40 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-ia64/tlb.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-ia64/tlb.h linux-2.6.22.9-vs2.2.0.4/include/asm-ia64/tlb.h
+--- linux-2.6.22.9/include/asm-ia64/tlb.h	2006-09-20 16:58:40 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-ia64/tlb.h	2007-06-15 02:37:04 +0200
 @@ -40,6 +40,7 @@
  #include <linux/mm.h>
  #include <linux/pagemap.h>
@@ -9996,8 +10276,9 @@
  
  #include <asm/pgalloc.h>
  #include <asm/processor.h>
---- linux-2.6.22.2/include/asm-powerpc/systbl.h	2007-07-09 13:19:44 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-powerpc/systbl.h	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-powerpc/systbl.h linux-2.6.22.9-vs2.2.0.4/include/asm-powerpc/systbl.h
+--- linux-2.6.22.9/include/asm-powerpc/systbl.h	2007-07-09 13:19:44 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-powerpc/systbl.h	2007-07-07 03:52:53 +0200
 @@ -260,7 +260,7 @@ COMPAT_SYS_SPU(fstatfs64)
  SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64)
  PPC_SYS_SPU(rtas)
@@ -10007,8 +10288,9 @@
  COMPAT_SYS(migrate_pages)
  COMPAT_SYS(mbind)
  COMPAT_SYS(get_mempolicy)
---- linux-2.6.22.2/include/asm-powerpc/unistd.h	2007-07-09 13:19:45 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-powerpc/unistd.h	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-powerpc/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-powerpc/unistd.h
+--- linux-2.6.22.9/include/asm-powerpc/unistd.h	2007-07-09 13:19:45 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-powerpc/unistd.h	2007-07-07 03:52:53 +0200
 @@ -275,7 +275,7 @@
  #endif
  #define __NR_rtas		255
@@ -10018,8 +10300,9 @@
  #define __NR_migrate_pages	258
  #define __NR_mbind		259
  #define __NR_get_mempolicy	260
---- linux-2.6.22.2/include/asm-s390/unistd.h	2007-07-09 13:19:45 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-s390/unistd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-s390/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-s390/unistd.h
+--- linux-2.6.22.9/include/asm-s390/unistd.h	2007-07-09 13:19:45 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-s390/unistd.h	2007-06-15 02:37:04 +0200
 @@ -202,7 +202,7 @@
  #define __NR_clock_gettime	(__NR_timer_create+6)
  #define __NR_clock_getres	(__NR_timer_create+7)
@@ -10029,8 +10312,9 @@
  #define __NR_statfs64		265
  #define __NR_fstatfs64		266
  #define __NR_remap_file_pages	267
---- linux-2.6.22.2/include/asm-sparc/unistd.h	2007-07-09 13:19:54 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-sparc/unistd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-sparc/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-sparc/unistd.h
+--- linux-2.6.22.9/include/asm-sparc/unistd.h	2007-07-09 13:19:54 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-sparc/unistd.h	2007-06-15 02:37:04 +0200
 @@ -283,7 +283,7 @@
  #define __NR_timer_getoverrun	264
  #define __NR_timer_delete	265
@@ -10040,8 +10324,9 @@
  #define __NR_io_setup		268
  #define __NR_io_destroy		269
  #define __NR_io_submit		270
---- linux-2.6.22.2/include/asm-sparc64/tlb.h	2007-07-09 13:19:54 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-sparc64/tlb.h	2007-07-07 03:54:19 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-sparc64/tlb.h linux-2.6.22.9-vs2.2.0.4/include/asm-sparc64/tlb.h
+--- linux-2.6.22.9/include/asm-sparc64/tlb.h	2007-07-09 13:19:54 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-sparc64/tlb.h	2007-07-07 03:54:19 +0200
 @@ -3,6 +3,7 @@
  
  #include <linux/swap.h>
@@ -10050,8 +10335,9 @@
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
  #include <asm/mmu_context.h>
---- linux-2.6.22.2/include/asm-sparc64/unistd.h	2007-07-09 13:19:54 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-sparc64/unistd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-sparc64/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-sparc64/unistd.h
+--- linux-2.6.22.9/include/asm-sparc64/unistd.h	2007-07-09 13:19:54 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-sparc64/unistd.h	2007-06-15 02:37:04 +0200
 @@ -285,7 +285,7 @@
  #define __NR_timer_getoverrun	264
  #define __NR_timer_delete	265
@@ -10061,8 +10347,9 @@
  #define __NR_io_setup		268
  #define __NR_io_destroy		269
  #define __NR_io_submit		270
---- linux-2.6.22.2/include/asm-x86_64/unistd.h	2007-07-09 13:19:55 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/asm-x86_64/unistd.h	2007-07-07 03:52:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/asm-x86_64/unistd.h linux-2.6.22.9-vs2.2.0.4/include/asm-x86_64/unistd.h
+--- linux-2.6.22.9/include/asm-x86_64/unistd.h	2007-07-09 13:19:55 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/asm-x86_64/unistd.h	2007-07-07 03:52:53 +0200
 @@ -532,7 +532,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
  #define __NR_utimes		235
  __SYSCALL(__NR_utimes, sys_utimes)
@@ -10072,17 +10359,19 @@
  #define __NR_mbind 		237
  __SYSCALL(__NR_mbind, sys_mbind)
  #define __NR_set_mempolicy 	238
---- linux-2.6.22.2/include/linux/Kbuild	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/Kbuild	2007-08-12 12:21:51 +0200
-@@ -350,3 +350,6 @@ unifdef-y += xattr.h
+diff -NurpP --minimal linux-2.6.22.9/include/linux/Kbuild linux-2.6.22.9-vs2.2.0.4/include/linux/Kbuild
+--- linux-2.6.22.9/include/linux/Kbuild	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/Kbuild	2007-10-01 15:25:35 +0200
+@@ -351,3 +351,6 @@ unifdef-y += xattr.h
  unifdef-y += xfrm.h
  
  objhdr-y += version.h
 +
 +header-y += vserver/
 +
---- linux-2.6.22.2/include/linux/capability.h	2007-07-09 13:19:55 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/capability.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/capability.h linux-2.6.22.9-vs2.2.0.4/include/linux/capability.h
+--- linux-2.6.22.9/include/linux/capability.h	2007-07-09 13:19:55 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/capability.h	2007-06-15 02:37:04 +0200
 @@ -237,6 +237,7 @@ typedef __u32 kernel_cap_t;
     arbitrary SCSI commands */
  /* Allow setting encryption key on loopback filesystem */
@@ -10103,8 +10392,9 @@
  #ifdef __KERNEL__
  /* 
   * Bounding set
---- linux-2.6.22.2/include/linux/devpts_fs.h	2004-08-14 12:55:59 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/devpts_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/devpts_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/devpts_fs.h
+--- linux-2.6.22.9/include/linux/devpts_fs.h	2004-08-14 12:55:59 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/devpts_fs.h	2007-06-15 02:37:04 +0200
 @@ -30,5 +30,7 @@ static inline void devpts_pty_kill(int n
  
  #endif
@@ -10113,8 +10403,9 @@
 +
  
  #endif /* _LINUX_DEVPTS_FS_H */
---- linux-2.6.22.2/include/linux/ext2_fs.h	2006-11-30 21:19:37 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/ext2_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/ext2_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/ext2_fs.h
+--- linux-2.6.22.9/include/linux/ext2_fs.h	2006-11-30 21:19:37 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/ext2_fs.h	2007-06-15 02:37:04 +0200
 @@ -188,6 +188,8 @@ struct ext2_group_desc
  #define EXT2_NOTAIL_FL			FS_NOTAIL_FL	/* file tail should not be merged */
  #define EXT2_DIRSYNC_FL			FS_DIRSYNC_FL	/* dirsync behaviour (directories only) */
@@ -10153,8 +10444,9 @@
  
  
  #define clear_opt(o, opt)		o &= ~EXT2_MOUNT_##opt
---- linux-2.6.22.2/include/linux/ext3_fs.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/ext3_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/ext3_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/ext3_fs.h
+--- linux-2.6.22.9/include/linux/ext3_fs.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/ext3_fs.h	2007-06-15 02:37:04 +0200
 @@ -177,10 +177,20 @@ struct ext3_group_desc
  #define EXT3_NOTAIL_FL			0x00008000 /* file tail should not be merged */
  #define EXT3_DIRSYNC_FL			0x00010000 /* dirsync behaviour (directories only) */
@@ -10209,8 +10501,9 @@
  
  extern void ext3_read_inode (struct inode *);
  extern int  ext3_write_inode (struct inode *, int);
---- linux-2.6.22.2/include/linux/ext4_fs.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/ext4_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/ext4_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/ext4_fs.h
+--- linux-2.6.22.9/include/linux/ext4_fs.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/ext4_fs.h	2007-06-15 02:37:04 +0200
 @@ -189,11 +189,21 @@ struct ext4_group_desc
  #define EXT4_NOTAIL_FL			0x00008000 /* file tail should not be merged */
  #define EXT4_DIRSYNC_FL			0x00010000 /* dirsync behaviour (directories only) */
@@ -10268,8 +10561,9 @@
  
  extern void ext4_read_inode (struct inode *);
  extern int  ext4_write_inode (struct inode *, int);
---- linux-2.6.22.2/include/linux/fs.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/fs.h	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/fs.h
+--- linux-2.6.22.9/include/linux/fs.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/fs.h	2007-07-07 03:52:54 +0200
 @@ -123,6 +123,8 @@ extern int dir_notify_enable;
  #define MS_SLAVE	(1<<19)	/* change to slave */
  #define MS_SHARED	(1<<20)	/* change to shared */
@@ -10447,8 +10741,9 @@
  extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
  extern int simple_statfs(struct dentry *, struct kstatfs *);
  extern int simple_link(struct dentry *, struct inode *, struct dentry *);
---- linux-2.6.22.2/include/linux/init_task.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/init_task.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/init_task.h linux-2.6.22.9-vs2.2.0.4/include/linux/init_task.h
+--- linux-2.6.22.9/include/linux/init_task.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/init_task.h	2007-06-15 02:37:04 +0200
 @@ -169,6 +169,10 @@ extern struct group_info init_groups;
  	},								\
  	INIT_TRACE_IRQFLAGS						\
@@ -10460,8 +10755,9 @@
  }
  
  
---- linux-2.6.22.2/include/linux/ipc.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/ipc.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/ipc.h linux-2.6.22.9-vs2.2.0.4/include/linux/ipc.h
+--- linux-2.6.22.9/include/linux/ipc.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/ipc.h	2007-06-15 02:37:04 +0200
 @@ -63,6 +63,7 @@ struct kern_ipc_perm
  	key_t		key;
  	uid_t		uid;
@@ -10470,8 +10766,9 @@
  	uid_t		cuid;
  	gid_t		cgid;
  	mode_t		mode; 
---- linux-2.6.22.2/include/linux/loop.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/loop.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/loop.h linux-2.6.22.9-vs2.2.0.4/include/linux/loop.h
+--- linux-2.6.22.9/include/linux/loop.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/loop.h	2007-06-15 02:37:04 +0200
 @@ -45,6 +45,7 @@ struct loop_device {
  	struct loop_func_table *lo_encryption;
  	__u32           lo_init[2];
@@ -10480,8 +10777,9 @@
  	int		(*ioctl)(struct loop_device *, int cmd, 
  				 unsigned long arg); 
  
---- linux-2.6.22.2/include/linux/major.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/major.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/major.h linux-2.6.22.9-vs2.2.0.4/include/linux/major.h
+--- linux-2.6.22.9/include/linux/major.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/major.h	2007-06-15 02:37:04 +0200
 @@ -15,6 +15,7 @@
  #define HD_MAJOR		IDE0_MAJOR
  #define PTY_SLAVE_MAJOR		3
@@ -10490,8 +10788,9 @@
  #define TTYAUX_MAJOR		5
  #define LP_MAJOR		6
  #define VCS_MAJOR		7
---- linux-2.6.22.2/include/linux/mount.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/mount.h	2007-06-15 03:54:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/mount.h linux-2.6.22.9-vs2.2.0.4/include/linux/mount.h
+--- linux-2.6.22.9/include/linux/mount.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/mount.h	2007-06-15 03:54:15 +0200
 @@ -28,12 +28,16 @@ struct mnt_namespace;
  #define MNT_NOATIME	0x08
  #define MNT_NODIRATIME	0x10
@@ -10517,8 +10816,9 @@
  };
  
  static inline struct vfsmount *mntget(struct vfsmount *mnt)
---- linux-2.6.22.2/include/linux/net.h	2007-07-09 13:19:56 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/net.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/net.h linux-2.6.22.9-vs2.2.0.4/include/linux/net.h
+--- linux-2.6.22.9/include/linux/net.h	2007-07-09 13:19:56 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/net.h	2007-06-15 02:37:04 +0200
 @@ -63,6 +63,7 @@ typedef enum {
  #define SOCK_NOSPACE		2
  #define SOCK_PASSCRED		3
@@ -10527,8 +10827,9 @@
  
  #ifndef ARCH_HAS_SOCKET_TYPES
  /**
---- linux-2.6.22.2/include/linux/nfs_mount.h	2007-07-09 13:20:00 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/nfs_mount.h	2007-06-15 03:54:39 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/nfs_mount.h linux-2.6.22.9-vs2.2.0.4/include/linux/nfs_mount.h
+--- linux-2.6.22.9/include/linux/nfs_mount.h	2007-07-09 13:20:00 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/nfs_mount.h	2007-06-15 03:54:39 +0200
 @@ -62,6 +62,7 @@ struct nfs_mount_data {
  #define NFS_MOUNT_STRICTLOCK	0x1000	/* reserved for NFSv4 */
  #define NFS_MOUNT_SECFLAVOUR	0x2000	/* 5 */
@@ -10537,8 +10838,9 @@
  #define NFS_MOUNT_FLAGMASK	0xFFFF
  
  #endif
---- linux-2.6.22.2/include/linux/nsproxy.h	2007-07-09 13:20:00 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/nsproxy.h	2007-07-17 03:02:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/nsproxy.h linux-2.6.22.9-vs2.2.0.4/include/linux/nsproxy.h
+--- linux-2.6.22.9/include/linux/nsproxy.h	2007-07-09 13:20:00 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/nsproxy.h	2007-07-17 03:02:15 +0200
 @@ -3,6 +3,7 @@
  
  #include <linux/spinlock.h>
@@ -10597,8 +10899,9 @@
  }
 +
  #endif
---- linux-2.6.22.2/include/linux/pid.h	2007-07-09 13:20:00 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/pid.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/pid.h linux-2.6.22.9-vs2.2.0.4/include/linux/pid.h
+--- linux-2.6.22.9/include/linux/pid.h	2007-07-09 13:20:00 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/pid.h	2007-06-15 02:37:04 +0200
 @@ -8,7 +8,8 @@ enum pid_type
  	PIDTYPE_PID,
  	PIDTYPE_PGID,
@@ -10609,8 +10912,9 @@
  };
  
  /*
---- linux-2.6.22.2/include/linux/proc_fs.h	2007-07-09 13:20:00 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/proc_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/proc_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/proc_fs.h
+--- linux-2.6.22.9/include/linux/proc_fs.h	2007-07-09 13:20:00 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/proc_fs.h	2007-06-15 02:37:04 +0200
 @@ -54,6 +54,7 @@ struct proc_dir_entry {
  	nlink_t nlink;
  	uid_t uid;
@@ -10640,8 +10944,9 @@
  	int fd;
  	union proc_op op;
  	struct proc_dir_entry *pde;
---- linux-2.6.22.2/include/linux/reiserfs_fs.h	2007-05-02 19:25:34 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/reiserfs_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/reiserfs_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/reiserfs_fs.h
+--- linux-2.6.22.9/include/linux/reiserfs_fs.h	2007-05-02 19:25:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/reiserfs_fs.h	2007-06-15 02:37:04 +0200
 @@ -821,6 +821,10 @@ struct stat_data_v1 {
  #define REISERFS_COMPR_FL     FS_COMPR_FL
  #define REISERFS_NOTAIL_FL    FS_NOTAIL_FL
@@ -10676,8 +10981,9 @@
  
  /* namei.c */
  void set_de_name_and_namelen(struct reiserfs_dir_entry *de);
---- linux-2.6.22.2/include/linux/reiserfs_fs_sb.h	2007-07-09 13:20:00 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/reiserfs_fs_sb.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/reiserfs_fs_sb.h linux-2.6.22.9-vs2.2.0.4/include/linux/reiserfs_fs_sb.h
+--- linux-2.6.22.9/include/linux/reiserfs_fs_sb.h	2007-07-09 13:20:00 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/reiserfs_fs_sb.h	2007-06-15 02:37:04 +0200
 @@ -458,6 +458,7 @@ enum reiserfs_mount_options {
  	REISERFS_POSIXACL,
  	REISERFS_BARRIER_NONE,
@@ -10686,8 +10992,9 @@
  
  	/* Actions on error */
  	REISERFS_ERROR_PANIC,
---- linux-2.6.22.2/include/linux/sched.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/sched.h	2007-06-17 05:54:19 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/sched.h linux-2.6.22.9-vs2.2.0.4/include/linux/sched.h
+--- linux-2.6.22.9/include/linux/sched.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/sched.h	2007-06-17 05:54:19 +0200
 @@ -26,6 +26,7 @@
  #define CLONE_STOPPED		0x02000000	/* Start in stopped state */
  #define CLONE_NEWUTS		0x04000000	/* New utsname group? */
@@ -10818,8 +11125,9 @@
  static inline struct user_struct *get_uid(struct user_struct *u)
  {
  	atomic_inc(&u->__count);
---- linux-2.6.22.2/include/linux/shmem_fs.h	2006-11-30 21:19:39 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/shmem_fs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/shmem_fs.h linux-2.6.22.9-vs2.2.0.4/include/linux/shmem_fs.h
+--- linux-2.6.22.9/include/linux/shmem_fs.h	2006-11-30 21:19:39 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/shmem_fs.h	2007-06-15 02:37:04 +0200
 @@ -8,6 +8,9 @@
  
  #define SHMEM_NR_DIRECT 16
@@ -10830,8 +11138,9 @@
  struct shmem_inode_info {
  	spinlock_t		lock;
  	unsigned long		flags;
---- linux-2.6.22.2/include/linux/stat.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/stat.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/stat.h linux-2.6.22.9-vs2.2.0.4/include/linux/stat.h
+--- linux-2.6.22.9/include/linux/stat.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/stat.h	2007-06-15 02:37:04 +0200
 @@ -66,6 +66,7 @@ struct kstat {
  	unsigned int	nlink;
  	uid_t		uid;
@@ -10840,8 +11149,9 @@
  	dev_t		rdev;
  	loff_t		size;
  	struct timespec  atime;
---- linux-2.6.22.2/include/linux/sunrpc/auth.h	2006-11-30 21:19:40 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/sunrpc/auth.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/sunrpc/auth.h linux-2.6.22.9-vs2.2.0.4/include/linux/sunrpc/auth.h
+--- linux-2.6.22.9/include/linux/sunrpc/auth.h	2006-11-30 21:19:40 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/sunrpc/auth.h	2007-06-15 02:37:04 +0200
 @@ -24,6 +24,7 @@
  struct auth_cred {
  	uid_t	uid;
@@ -10850,8 +11160,9 @@
  	struct group_info *group_info;
  };
  
---- linux-2.6.22.2/include/linux/sunrpc/clnt.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/sunrpc/clnt.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/sunrpc/clnt.h linux-2.6.22.9-vs2.2.0.4/include/linux/sunrpc/clnt.h
+--- linux-2.6.22.9/include/linux/sunrpc/clnt.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/sunrpc/clnt.h	2007-06-15 02:37:04 +0200
 @@ -43,7 +43,8 @@ struct rpc_clnt {
  				cl_discrtry : 1,/* disconnect before retry */
  				cl_autobind : 1,/* use getport() */
@@ -10862,8 +11173,9 @@
  
  	struct rpc_rtt *	cl_rtt;		/* RTO estimator data */
  
---- linux-2.6.22.2/include/linux/syscalls.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/syscalls.h	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/syscalls.h linux-2.6.22.9-vs2.2.0.4/include/linux/syscalls.h
+--- linux-2.6.22.9/include/linux/syscalls.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/syscalls.h	2007-07-07 03:52:54 +0200
 @@ -294,6 +294,8 @@ asmlinkage long sys_symlink(const char _
  asmlinkage long sys_unlink(const char __user *pathname);
  asmlinkage long sys_rename(const char __user *oldname,
@@ -10873,8 +11185,9 @@
  asmlinkage long sys_chmod(const char __user *filename, mode_t mode);
  asmlinkage long sys_fchmod(unsigned int fd, mode_t mode);
  
---- linux-2.6.22.2/include/linux/sysctl.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/sysctl.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/sysctl.h linux-2.6.22.9-vs2.2.0.4/include/linux/sysctl.h
+--- linux-2.6.22.9/include/linux/sysctl.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/sysctl.h	2007-06-15 02:37:04 +0200
 @@ -106,6 +106,7 @@ enum
  	KERN_CAP_BSET=14,	/* int: capability bounding set */
  	KERN_PANIC=15,		/* int: panic timeout */
@@ -10883,8 +11196,9 @@
  
  	KERN_SPARC_REBOOT=21,	/* reboot command on Sparc */
  	KERN_CTLALTDEL=22,	/* int: allow ctl-alt-del to reboot */
---- linux-2.6.22.2/include/linux/sysfs.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/sysfs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/sysfs.h linux-2.6.22.9-vs2.2.0.4/include/linux/sysfs.h
+--- linux-2.6.22.9/include/linux/sysfs.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/sysfs.h	2007-06-15 02:37:04 +0200
 @@ -15,6 +15,8 @@
  #include <linux/list.h>
  #include <asm/atomic.h>
@@ -10894,8 +11208,9 @@
  struct kobject;
  struct module;
  struct nameidata;
---- linux-2.6.22.2/include/linux/time.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/time.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/time.h linux-2.6.22.9-vs2.2.0.4/include/linux/time.h
+--- linux-2.6.22.9/include/linux/time.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/time.h	2007-06-15 02:37:04 +0200
 @@ -176,6 +176,9 @@ static inline void timespec_add_ns(struc
  	}
  	a->tv_nsec = ns;
@@ -10906,8 +11221,9 @@
  #endif /* __KERNEL__ */
  
  #define NFDBITS			__NFDBITS
---- linux-2.6.22.2/include/linux/types.h	2007-02-06 03:01:52 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/types.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/types.h linux-2.6.22.9-vs2.2.0.4/include/linux/types.h
+--- linux-2.6.22.9/include/linux/types.h	2007-02-06 03:01:52 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/types.h	2007-06-15 02:37:04 +0200
 @@ -39,6 +39,9 @@ typedef __kernel_uid32_t	uid_t;
  typedef __kernel_gid32_t	gid_t;
  typedef __kernel_uid16_t        uid16_t;
@@ -10918,8 +11234,9 @@
  
  #ifdef CONFIG_UID16
  /* This is defined by include/asm-{arch}/posix_types.h */
---- linux-2.6.22.2/include/linux/vroot.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vroot.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vroot.h linux-2.6.22.9-vs2.2.0.4/include/linux/vroot.h
+--- linux-2.6.22.9/include/linux/vroot.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vroot.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,51 @@
 +
 +/*
@@ -10972,8 +11289,9 @@
 +#define VROOT_CLR_DEV		0x5601
 +
 +#endif /* _LINUX_VROOT_H */
---- linux-2.6.22.2/include/linux/vs_base.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_base.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_base.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_base.h
+--- linux-2.6.22.9/include/linux/vs_base.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_base.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,9 @@
 +#ifndef _VS_BASE_H
 +#define _VS_BASE_H
@@ -10984,8 +11302,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_context.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_context.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_context.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_context.h
+--- linux-2.6.22.9/include/linux/vs_context.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_context.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,224 @@
 +#ifndef _VS_CONTEXT_H
 +#define _VS_CONTEXT_H
@@ -11211,8 +11530,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_cowbl.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_cowbl.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_cowbl.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_cowbl.h
+--- linux-2.6.22.9/include/linux/vs_cowbl.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_cowbl.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,44 @@
 +#ifndef _VS_COWBL_H
 +#define _VS_COWBL_H
@@ -11258,8 +11578,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_cvirt.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_cvirt.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_cvirt.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_cvirt.h
+--- linux-2.6.22.9/include/linux/vs_cvirt.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_cvirt.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,49 @@
 +#ifndef _VS_CVIRT_H
 +#define _VS_CVIRT_H
@@ -11310,8 +11631,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_dlimit.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_dlimit.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_dlimit.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_dlimit.h
+--- linux-2.6.22.9/include/linux/vs_dlimit.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_dlimit.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,209 @@
 +#ifndef _VS_DLIMIT_H
 +#define _VS_DLIMIT_H
@@ -11522,8 +11844,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_limit.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_limit.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_limit.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_limit.h
+--- linux-2.6.22.9/include/linux/vs_limit.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_limit.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,140 @@
 +#ifndef _VS_LIMIT_H
 +#define _VS_LIMIT_H
@@ -11665,8 +11988,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_memory.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_memory.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_memory.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_memory.h
+--- linux-2.6.22.9/include/linux/vs_memory.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_memory.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,159 @@
 +#ifndef _VS_MEMORY_H
 +#define _VS_MEMORY_H
@@ -11827,8 +12151,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_network.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_network.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_network.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_network.h
+--- linux-2.6.22.9/include/linux/vs_network.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_network.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,185 @@
 +#ifndef _NX_VS_NETWORK_H
 +#define _NX_VS_NETWORK_H
@@ -12015,8 +12340,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_pid.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_pid.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_pid.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_pid.h
+--- linux-2.6.22.9/include/linux/vs_pid.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_pid.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,133 @@
 +#ifndef _VS_PID_H
 +#define _VS_PID_H
@@ -12151,8 +12477,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_sched.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_sched.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_sched.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_sched.h
+--- linux-2.6.22.9/include/linux/vs_sched.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_sched.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,110 @@
 +#ifndef _VS_SCHED_H
 +#define _VS_SCHED_H
@@ -12264,8 +12591,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_socket.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_socket.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_socket.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_socket.h
+--- linux-2.6.22.9/include/linux/vs_socket.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_socket.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,67 @@
 +#ifndef _VS_SOCKET_H
 +#define _VS_SOCKET_H
@@ -12334,8 +12662,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_tag.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_tag.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_tag.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_tag.h
+--- linux-2.6.22.9/include/linux/vs_tag.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_tag.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _VS_TAG_H
 +#define _VS_TAG_H
@@ -12380,8 +12709,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vs_time.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vs_time.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vs_time.h linux-2.6.22.9-vs2.2.0.4/include/linux/vs_time.h
+--- linux-2.6.22.9/include/linux/vs_time.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vs_time.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,19 @@
 +#ifndef _VS_TIME_H
 +#define _VS_TIME_H
@@ -12402,8 +12732,9 @@
 +#else
 +#warning duplicate inclusion
 +#endif
---- linux-2.6.22.2/include/linux/vserver/Kbuild	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/Kbuild	2007-06-16 19:48:30 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/Kbuild linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/Kbuild
+--- linux-2.6.22.9/include/linux/vserver/Kbuild	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/Kbuild	2007-06-16 19:48:30 +0200
 @@ -0,0 +1,9 @@
 +
 +unifdef-y += context_cmd.h network_cmd.h space_cmd.h \
@@ -12414,8 +12745,9 @@
 +
 +unifdef-y += legacy.h
 +
---- linux-2.6.22.2/include/linux/vserver/base.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/base.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/base.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/base.h
+--- linux-2.6.22.9/include/linux/vserver/base.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/base.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,236 @@
 +#ifndef _VX_BASE_H
 +#define _VX_BASE_H
@@ -12653,8 +12985,9 @@
 +#define nx_info_state(v, m)	(__nx_state(v) & (m))
 +
 +#endif
---- linux-2.6.22.2/include/linux/vserver/cacct.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cacct.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cacct.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct.h
+--- linux-2.6.22.9/include/linux/vserver/cacct.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,15 @@
 +#ifndef _VX_CACCT_H
 +#define _VX_CACCT_H
@@ -12671,8 +13004,9 @@
 +};
 +
 +#endif	/* _VX_CACCT_H */
---- linux-2.6.22.2/include/linux/vserver/cacct_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cacct_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cacct_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/cacct_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,23 @@
 +#ifndef _VX_CACCT_CMD_H
 +#define _VX_CACCT_CMD_H
@@ -12697,8 +13031,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CACCT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/cacct_def.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cacct_def.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cacct_def.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_def.h
+--- linux-2.6.22.9/include/linux/vserver/cacct_def.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_def.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _VX_CACCT_DEF_H
 +#define _VX_CACCT_DEF_H
@@ -12743,8 +13078,9 @@
 +#endif
 +
 +#endif	/* _VX_CACCT_DEF_H */
---- linux-2.6.22.2/include/linux/vserver/cacct_int.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cacct_int.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cacct_int.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_int.h
+--- linux-2.6.22.9/include/linux/vserver/cacct_int.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cacct_int.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,21 @@
 +#ifndef _VX_CACCT_INT_H
 +#define _VX_CACCT_INT_H
@@ -12767,8 +13103,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CACCT_INT_H */
---- linux-2.6.22.2/include/linux/vserver/context.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/context.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/context.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/context.h
+--- linux-2.6.22.9/include/linux/vserver/context.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/context.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,172 @@
 +#ifndef _VX_CONTEXT_H
 +#define _VX_CONTEXT_H
@@ -12942,8 +13279,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CONTEXT_H */
---- linux-2.6.22.2/include/linux/vserver/context_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/context_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/context_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/context_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/context_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/context_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,123 @@
 +#ifndef _VX_CONTEXT_CMD_H
 +#define _VX_CONTEXT_CMD_H
@@ -13068,8 +13406,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CONTEXT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/cvirt.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cvirt.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cvirt.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt.h
+--- linux-2.6.22.9/include/linux/vserver/cvirt.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,20 @@
 +#ifndef _VX_CVIRT_H
 +#define _VX_CVIRT_H
@@ -13091,8 +13430,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CVIRT_H */
---- linux-2.6.22.2/include/linux/vserver/cvirt_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cvirt_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cvirt_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/cvirt_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CVIRT_CMD_H
 +#define _VX_CVIRT_CMD_H
@@ -13147,8 +13487,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CVIRT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/cvirt_def.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/cvirt_def.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/cvirt_def.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt_def.h
+--- linux-2.6.22.9/include/linux/vserver/cvirt_def.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/cvirt_def.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,81 @@
 +#ifndef _VX_CVIRT_DEF_H
 +#define _VX_CVIRT_DEF_H
@@ -13231,8 +13572,9 @@
 +#endif
 +
 +#endif	/* _VX_CVIRT_DEF_H */
---- linux-2.6.22.2/include/linux/vserver/debug.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/debug.h	2007-06-16 05:47:03 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/debug.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/debug.h
+--- linux-2.6.22.9/include/linux/vserver/debug.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/debug.h	2007-06-16 05:47:03 +0200
 @@ -0,0 +1,113 @@
 +#ifndef _VX_DEBUG_H
 +#define _VX_DEBUG_H
@@ -13347,8 +13689,9 @@
 +
 +
 +#endif /* _VX_DEBUG_H */
---- linux-2.6.22.2/include/linux/vserver/debug_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/debug_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/debug_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/debug_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/debug_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/debug_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,58 @@
 +#ifndef _VX_DEBUG_CMD_H
 +#define _VX_DEBUG_CMD_H
@@ -13408,8 +13751,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_DEBUG_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/dlimit.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/dlimit.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/dlimit.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/dlimit.h
+--- linux-2.6.22.9/include/linux/vserver/dlimit.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/dlimit.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,53 @@
 +#ifndef _VX_DLIMIT_H
 +#define _VX_DLIMIT_H
@@ -13464,8 +13808,9 @@
 +#else	/* _VX_DLIMIT_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_DLIMIT_H */
---- linux-2.6.22.2/include/linux/vserver/dlimit_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/dlimit_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/dlimit_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/dlimit_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/dlimit_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/dlimit_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,74 @@
 +#ifndef _VX_DLIMIT_CMD_H
 +#define _VX_DLIMIT_CMD_H
@@ -13541,8 +13886,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_DLIMIT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/global.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/global.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/global.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/global.h
+--- linux-2.6.22.9/include/linux/vserver/global.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/global.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,18 @@
 +#ifndef _VX_GLOBAL_H
 +#define _VX_GLOBAL_H
@@ -13562,8 +13908,9 @@
 +
 +
 +#endif /* _VX_GLOBAL_H */
---- linux-2.6.22.2/include/linux/vserver/history.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/history.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/history.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/history.h
+--- linux-2.6.22.9/include/linux/vserver/history.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/history.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,197 @@
 +#ifndef _VX_HISTORY_H
 +#define _VX_HISTORY_H
@@ -13762,8 +14109,9 @@
 +#endif /* CONFIG_VSERVER_HISTORY */
 +
 +#endif /* _VX_HISTORY_H */
---- linux-2.6.22.2/include/linux/vserver/inode.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/inode.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/inode.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/inode.h
+--- linux-2.6.22.9/include/linux/vserver/inode.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/inode.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,38 @@
 +#ifndef _VX_INODE_H
 +#define _VX_INODE_H
@@ -13803,8 +14151,9 @@
 +#else	/* _VX_INODE_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_INODE_H */
---- linux-2.6.22.2/include/linux/vserver/inode_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/inode_cmd.h	2007-07-16 06:38:22 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/inode_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/inode_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/inode_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/inode_cmd.h	2007-07-16 06:38:22 +0200
 @@ -0,0 +1,59 @@
 +#ifndef _VX_INODE_CMD_H
 +#define _VX_INODE_CMD_H
@@ -13865,8 +14214,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_INODE_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/legacy.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/legacy.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/legacy.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/legacy.h
+--- linux-2.6.22.9/include/linux/vserver/legacy.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/legacy.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,49 @@
 +#ifndef _VX_LEGACY_H
 +#define _VX_LEGACY_H
@@ -13917,8 +14267,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_LEGACY_H */
---- linux-2.6.22.2/include/linux/vserver/limit.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/limit.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/limit.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit.h
+--- linux-2.6.22.9/include/linux/vserver/limit.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,68 @@
 +#ifndef _VX_LIMIT_H
 +#define _VX_LIMIT_H
@@ -13988,8 +14339,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_LIMIT_H */
---- linux-2.6.22.2/include/linux/vserver/limit_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/limit_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/limit_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/limit_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,69 @@
 +#ifndef _VX_LIMIT_CMD_H
 +#define _VX_LIMIT_CMD_H
@@ -14060,8 +14412,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_LIMIT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/limit_def.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/limit_def.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/limit_def.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_def.h
+--- linux-2.6.22.9/include/linux/vserver/limit_def.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_def.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,47 @@
 +#ifndef _VX_LIMIT_DEF_H
 +#define _VX_LIMIT_DEF_H
@@ -14110,8 +14463,9 @@
 +#endif
 +
 +#endif	/* _VX_LIMIT_DEF_H */
---- linux-2.6.22.2/include/linux/vserver/limit_int.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/limit_int.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/limit_int.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_int.h
+--- linux-2.6.22.9/include/linux/vserver/limit_int.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/limit_int.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,198 @@
 +#ifndef _VX_LIMIT_INT_H
 +#define _VX_LIMIT_INT_H
@@ -14311,8 +14665,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_LIMIT_INT_H */
---- linux-2.6.22.2/include/linux/vserver/monitor.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/monitor.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/monitor.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/monitor.h
+--- linux-2.6.22.9/include/linux/vserver/monitor.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/monitor.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,95 @@
 +#ifndef _VX_MONITOR_H
 +#define _VX_MONITOR_H
@@ -14409,8 +14764,9 @@
 +
 +
 +#endif /* _VX_MONITOR_H */
---- linux-2.6.22.2/include/linux/vserver/network.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/network.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/network.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/network.h
+--- linux-2.6.22.9/include/linux/vserver/network.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/network.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,142 @@
 +#ifndef _VX_NETWORK_H
 +#define _VX_NETWORK_H
@@ -14554,8 +14910,9 @@
 +#else	/* _VX_NETWORK_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_NETWORK_H */
---- linux-2.6.22.2/include/linux/vserver/network_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/network_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/network_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/network_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/network_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/network_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,89 @@
 +#ifndef _VX_NETWORK_CMD_H
 +#define _VX_NETWORK_CMD_H
@@ -14646,8 +15003,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_CONTEXT_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/percpu.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/percpu.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/percpu.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/percpu.h
+--- linux-2.6.22.9/include/linux/vserver/percpu.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/percpu.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,14 @@
 +#ifndef _VX_PERCPU_H
 +#define _VX_PERCPU_H
@@ -14663,8 +15021,9 @@
 +#define	PERCPU_PERCTX	(sizeof(struct _vx_percpu))
 +
 +#endif	/* _VX_PERCPU_H */
---- linux-2.6.22.2/include/linux/vserver/sched.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/sched.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/sched.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched.h
+--- linux-2.6.22.9/include/linux/vserver/sched.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,26 @@
 +#ifndef _VX_SCHED_H
 +#define _VX_SCHED_H
@@ -14692,8 +15051,9 @@
 +#else	/* _VX_SCHED_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_SCHED_H */
---- linux-2.6.22.2/include/linux/vserver/sched_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/sched_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/sched_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/sched_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,108 @@
 +#ifndef _VX_SCHED_CMD_H
 +#define _VX_SCHED_CMD_H
@@ -14803,8 +15163,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_SCHED_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/sched_def.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/sched_def.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/sched_def.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched_def.h
+--- linux-2.6.22.9/include/linux/vserver/sched_def.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/sched_def.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,68 @@
 +#ifndef _VX_SCHED_DEF_H
 +#define _VX_SCHED_DEF_H
@@ -14874,8 +15235,9 @@
 +#endif
 +
 +#endif	/* _VX_SCHED_DEF_H */
---- linux-2.6.22.2/include/linux/vserver/signal.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/signal.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/signal.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/signal.h
+--- linux-2.6.22.9/include/linux/vserver/signal.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/signal.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,14 @@
 +#ifndef _VX_SIGNAL_H
 +#define _VX_SIGNAL_H
@@ -14891,8 +15253,9 @@
 +#else	/* _VX_SIGNAL_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_SIGNAL_H */
---- linux-2.6.22.2/include/linux/vserver/signal_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/signal_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/signal_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/signal_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/signal_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/signal_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _VX_SIGNAL_CMD_H
 +#define _VX_SIGNAL_CMD_H
@@ -14937,8 +15300,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_SIGNAL_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/space.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/space.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/space.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/space.h
+--- linux-2.6.22.9/include/linux/vserver/space.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/space.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,13 @@
 +#ifndef _VX_SPACE_H
 +#define _VX_SPACE_H
@@ -14953,8 +15317,9 @@
 +#else	/* _VX_SPACE_H */
 +#warning duplicate inclusion
 +#endif	/* _VX_SPACE_H */
---- linux-2.6.22.2/include/linux/vserver/space_cmd.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/space_cmd.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/space_cmd.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/space_cmd.h
+--- linux-2.6.22.9/include/linux/vserver/space_cmd.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/space_cmd.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,26 @@
 +#ifndef _VX_SPACE_CMD_H
 +#define _VX_SPACE_CMD_H
@@ -14982,8 +15347,9 @@
 +
 +#endif	/* __KERNEL__ */
 +#endif	/* _VX_SPACE_CMD_H */
---- linux-2.6.22.2/include/linux/vserver/switch.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/switch.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/switch.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/switch.h
+--- linux-2.6.22.9/include/linux/vserver/switch.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/switch.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,95 @@
 +#ifndef _VX_SWITCH_H
 +#define _VX_SWITCH_H
@@ -15080,8 +15446,9 @@
 +#endif	/* __KERNEL__ */
 +
 +#endif	/* _VX_SWITCH_H */
---- linux-2.6.22.2/include/linux/vserver/tag.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/include/linux/vserver/tag.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/linux/vserver/tag.h linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/tag.h
+--- linux-2.6.22.9/include/linux/vserver/tag.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/include/linux/vserver/tag.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,140 @@
 +#ifndef _DX_TAG_H
 +#define _DX_TAG_H
@@ -15223,8 +15590,9 @@
 +#endif
 +
 +#endif /* _DX_TAG_H */
---- linux-2.6.22.2/include/net/af_unix.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/af_unix.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/af_unix.h linux-2.6.22.9-vs2.2.0.4/include/net/af_unix.h
+--- linux-2.6.22.9/include/net/af_unix.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/af_unix.h	2007-06-15 02:37:04 +0200
 @@ -4,6 +4,7 @@
  #include <linux/socket.h>
  #include <linux/un.h>
@@ -15275,8 +15643,9 @@
  }
  
  #define forall_unix_sockets(i, s) \
---- linux-2.6.22.2/include/net/inet_hashtables.h	2007-05-02 19:25:35 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/inet_hashtables.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/inet_hashtables.h linux-2.6.22.9-vs2.2.0.4/include/net/inet_hashtables.h
+--- linux-2.6.22.9/include/net/inet_hashtables.h	2007-05-02 19:25:35 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/inet_hashtables.h	2007-06-15 02:37:04 +0200
 @@ -271,6 +271,26 @@ static inline int inet_iif(const struct 
  	return ((struct rtable *)skb->dst)->rt_iif;
  }
@@ -15304,8 +15673,9 @@
  extern struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo,
  					   const __be32 daddr,
  					   const unsigned short hnum,
---- linux-2.6.22.2/include/net/inet_sock.h	2007-07-09 13:20:01 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/inet_sock.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/inet_sock.h linux-2.6.22.9-vs2.2.0.4/include/net/inet_sock.h
+--- linux-2.6.22.9/include/net/inet_sock.h	2007-07-09 13:20:01 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/inet_sock.h	2007-06-15 02:37:04 +0200
 @@ -113,6 +113,7 @@ struct inet_sock {
  	/* Socket demultiplex comparisons on incoming packets. */
  	__be32			daddr;
@@ -15314,8 +15684,9 @@
  	__be16			dport;
  	__u16			num;
  	__be32			saddr;
---- linux-2.6.22.2/include/net/inet_timewait_sock.h	2007-05-02 19:25:35 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/inet_timewait_sock.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/inet_timewait_sock.h linux-2.6.22.9-vs2.2.0.4/include/net/inet_timewait_sock.h
+--- linux-2.6.22.9/include/net/inet_timewait_sock.h	2007-05-02 19:25:35 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/inet_timewait_sock.h	2007-06-15 02:37:04 +0200
 @@ -115,6 +115,10 @@ struct inet_timewait_sock {
  #define tw_refcnt		__tw_common.skc_refcnt
  #define tw_hash			__tw_common.skc_hash
@@ -15327,8 +15698,9 @@
  	volatile unsigned char	tw_substate;
  	/* 3 bits hole, try to pack */
  	unsigned char		tw_rcv_wscale;
---- linux-2.6.22.2/include/net/route.h	2007-05-02 19:25:35 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/route.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/route.h linux-2.6.22.9-vs2.2.0.4/include/net/route.h
+--- linux-2.6.22.9/include/net/route.h	2007-05-02 19:25:35 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/route.h	2007-06-15 02:37:04 +0200
 @@ -27,12 +27,16 @@
  #include <net/dst.h>
  #include <net/inetpeer.h>
@@ -15435,8 +15807,9 @@
  		err = __ip_route_output_key(rp, &fl);
  		if (err)
  			return err;
---- linux-2.6.22.2/include/net/sock.h	2007-07-09 13:20:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/include/net/sock.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/include/net/sock.h linux-2.6.22.9-vs2.2.0.4/include/net/sock.h
+--- linux-2.6.22.9/include/net/sock.h	2007-07-09 13:20:02 +0200
++++ linux-2.6.22.9-vs2.2.0.4/include/net/sock.h	2007-06-15 02:37:04 +0200
 @@ -119,6 +119,10 @@ struct sock_common {
  	atomic_t		skc_refcnt;
  	unsigned int		skc_hash;
@@ -15459,8 +15832,9 @@
  	unsigned char		sk_shutdown : 2,
  				sk_no_check : 2,
  				sk_userlocks : 4;
---- linux-2.6.22.2/init/main.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/init/main.c	2007-06-15 04:03:00 +0200
+diff -NurpP --minimal linux-2.6.22.9/init/main.c linux-2.6.22.9-vs2.2.0.4/init/main.c
+--- linux-2.6.22.9/init/main.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/init/main.c	2007-06-15 04:03:00 +0200
 @@ -55,6 +55,7 @@
  #include <linux/pid_namespace.h>
  #include <linux/device.h>
@@ -15486,8 +15860,9 @@
  	ptr = alloc_bootmem_pages(size * nr_possible_cpus);
  
  	for_each_possible_cpu(i) {
---- linux-2.6.22.2/ipc/mqueue.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/ipc/mqueue.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/ipc/mqueue.c linux-2.6.22.9-vs2.2.0.4/ipc/mqueue.c
+--- linux-2.6.22.9/ipc/mqueue.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/ipc/mqueue.c	2007-06-15 02:37:04 +0200
 @@ -29,6 +29,8 @@
  #include <linux/audit.h>
  #include <linux/signal.h>
@@ -15543,8 +15918,9 @@
  out_err:
  	dput(dentry);
  
---- linux-2.6.22.2/ipc/msg.c	2007-02-06 03:01:55 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/ipc/msg.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/ipc/msg.c linux-2.6.22.9-vs2.2.0.4/ipc/msg.c
+--- linux-2.6.22.9/ipc/msg.c	2007-02-06 03:01:55 +0100
++++ linux-2.6.22.9-vs2.2.0.4/ipc/msg.c	2007-06-15 02:37:04 +0200
 @@ -36,6 +36,7 @@
  #include <linux/seq_file.h>
  #include <linux/mutex.h>
@@ -15561,8 +15937,9 @@
  
  	msq->q_perm.security = NULL;
  	retval = security_msg_queue_alloc(msq);
---- linux-2.6.22.2/ipc/sem.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/ipc/sem.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/ipc/sem.c linux-2.6.22.9-vs2.2.0.4/ipc/sem.c
+--- linux-2.6.22.9/ipc/sem.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/ipc/sem.c	2007-06-15 02:37:04 +0200
 @@ -82,6 +82,8 @@
  #include <linux/seq_file.h>
  #include <linux/mutex.h>
@@ -15600,8 +15977,9 @@
  	size = sizeof (*sma) + sma->sem_nsems * sizeof (struct sem);
  	security_sem_free(sma);
  	ipc_rcu_putref(sma);
---- linux-2.6.22.2/ipc/shm.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/ipc/shm.c	2007-08-12 12:21:52 +0200
+diff -NurpP --minimal linux-2.6.22.9/ipc/shm.c linux-2.6.22.9-vs2.2.0.4/ipc/shm.c
+--- linux-2.6.22.9/ipc/shm.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/ipc/shm.c	2007-08-12 12:21:52 +0200
 @@ -38,6 +38,8 @@
  #include <linux/mutex.h>
  #include <linux/nsproxy.h>
@@ -15657,8 +16035,9 @@
  	shm_unlock(shp);
  	return shp->id;
  
---- linux-2.6.22.2/ipc/util.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/ipc/util.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/ipc/util.c linux-2.6.22.9-vs2.2.0.4/ipc/util.c
+--- linux-2.6.22.9/ipc/util.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/ipc/util.c	2007-06-15 02:37:04 +0200
 @@ -32,6 +32,8 @@
  #include <linux/proc_fs.h>
  #include <linux/audit.h>
@@ -15684,8 +16063,9 @@
  	kfree(ns);
  }
  #else
---- linux-2.6.22.2/kernel/Makefile	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/Makefile	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/Makefile linux-2.6.22.9-vs2.2.0.4/kernel/Makefile
+--- linux-2.6.22.9/kernel/Makefile	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/Makefile	2007-06-15 02:37:04 +0200
 @@ -10,6 +10,8 @@ obj-y     = sched.o fork.o exec_domain.o
  	    kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
  	    hrtimer.o rwsem.o latency.o nsproxy.o srcu.o die_notifier.o
@@ -15695,8 +16075,9 @@
  obj-$(CONFIG_STACKTRACE) += stacktrace.o
  obj-y += time/
  obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
---- linux-2.6.22.2/kernel/capability.c	2007-05-02 19:25:37 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/capability.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/capability.c linux-2.6.22.9-vs2.2.0.4/kernel/capability.c
+--- linux-2.6.22.9/kernel/capability.c	2007-05-02 19:25:37 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/capability.c	2007-06-15 02:37:04 +0200
 @@ -12,6 +12,7 @@
  #include <linux/module.h>
  #include <linux/security.h>
@@ -15727,8 +16108,9 @@
  	return __capable(current, cap);
  }
  EXPORT_SYMBOL(capable);
---- linux-2.6.22.2/kernel/compat.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/compat.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/compat.c linux-2.6.22.9-vs2.2.0.4/kernel/compat.c
+--- linux-2.6.22.9/kernel/compat.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/compat.c	2007-06-15 02:37:04 +0200
 @@ -846,7 +846,7 @@ asmlinkage long compat_sys_time(compat_t
  	compat_time_t i;
  	struct timeval tv;
@@ -15747,8 +16129,9 @@
  	return 0;
  }
  
---- linux-2.6.22.2/kernel/exit.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/exit.c	2007-07-17 03:02:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/exit.c linux-2.6.22.9-vs2.2.0.4/kernel/exit.c
+--- linux-2.6.22.9/kernel/exit.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/exit.c	2007-07-17 03:02:15 +0200
 @@ -44,6 +44,11 @@
  #include <linux/resource.h>
  #include <linux/blkdev.h>
@@ -15825,8 +16208,9 @@
  	preempt_disable();
  	/* causes final put_task_struct in finish_task_switch(). */
  	tsk->state = TASK_DEAD;
---- linux-2.6.22.2/kernel/fork.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/fork.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/fork.c linux-2.6.22.9-vs2.2.0.4/kernel/fork.c
+--- linux-2.6.22.9/kernel/fork.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/fork.c	2007-06-15 02:37:04 +0200
 @@ -49,6 +49,11 @@
  #include <linux/delayacct.h>
  #include <linux/taskstats_kern.h>
@@ -16012,8 +16396,9 @@
  	nr = pid->nr;
  	if (unlikely(current->ptrace)) {
  		trace = fork_traceflag (clone_flags);
---- linux-2.6.22.2/kernel/kthread.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/kthread.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/kthread.c linux-2.6.22.9-vs2.2.0.4/kernel/kthread.c
+--- linux-2.6.22.9/kernel/kthread.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/kthread.c	2007-06-15 02:37:04 +0200
 @@ -96,7 +96,7 @@ static void create_kthread(struct kthrea
  	} else {
  		wait_for_completion(&create->started);
@@ -16023,8 +16408,9 @@
  		read_unlock(&tasklist_lock);
  	}
  	complete(&create->done);
---- linux-2.6.22.2/kernel/nsproxy.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/nsproxy.c	2007-07-07 04:12:31 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/nsproxy.c linux-2.6.22.9-vs2.2.0.4/kernel/nsproxy.c
+--- linux-2.6.22.9/kernel/nsproxy.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/nsproxy.c	2007-07-07 04:12:31 +0200
 @@ -20,14 +20,11 @@
  #include <linux/mnt_namespace.h>
  #include <linux/utsname.h>
@@ -16168,8 +16554,9 @@
  	if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC)))
  		return 0;
  
---- linux-2.6.22.2/kernel/pid.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/pid.c	2007-06-15 04:04:09 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/pid.c linux-2.6.22.9-vs2.2.0.4/kernel/pid.c
+--- linux-2.6.22.9/kernel/pid.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/pid.c	2007-06-15 04:04:09 +0200
 @@ -28,6 +28,7 @@
  #include <linux/hash.h>
  #include <linux/pid_namespace.h>
@@ -16207,8 +16594,9 @@
  }
  
  EXPORT_SYMBOL(find_task_by_pid_type);
---- linux-2.6.22.2/kernel/posix-timers.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/posix-timers.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/posix-timers.c linux-2.6.22.9-vs2.2.0.4/kernel/posix-timers.c
+--- linux-2.6.22.9/kernel/posix-timers.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/posix-timers.c	2007-07-07 03:52:54 +0200
 @@ -47,6 +47,7 @@
  #include <linux/wait.h>
  #include <linux/workqueue.h>
@@ -16266,8 +16654,9 @@
  		 rtn->tgid != current->tgid ||
  		 (event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
  		return NULL;
---- linux-2.6.22.2/kernel/printk.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/printk.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/printk.c linux-2.6.22.9-vs2.2.0.4/kernel/printk.c
+--- linux-2.6.22.9/kernel/printk.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/printk.c	2007-06-15 02:37:04 +0200
 @@ -31,6 +31,7 @@
  #include <linux/bootmem.h>
  #include <linux/syscalls.h>
@@ -16331,8 +16720,9 @@
  		count = len;
  		if (count > log_buf_len)
  			count = log_buf_len;
---- linux-2.6.22.2/kernel/ptrace.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/ptrace.c	2007-06-15 04:28:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/ptrace.c linux-2.6.22.9-vs2.2.0.4/kernel/ptrace.c
+--- linux-2.6.22.9/kernel/ptrace.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/ptrace.c	2007-06-15 04:28:02 +0200
 @@ -19,6 +19,7 @@
  #include <linux/security.h>
  #include <linux/signal.h>
@@ -16364,8 +16754,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out_put_task_struct;
---- linux-2.6.22.2/kernel/sched.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/sched.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/sched.c linux-2.6.22.9-vs2.2.0.4/kernel/sched.c
+--- linux-2.6.22.9/kernel/sched.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/sched.c	2007-07-07 03:52:54 +0200
 @@ -56,6 +56,8 @@
  
  #include <asm/tlb.h>
@@ -16704,8 +17095,9 @@
  			__activate_task(p, task_rq(p));
  			resched_task(rq->curr);
  		}
---- linux-2.6.22.2/kernel/sched_hard.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/sched_hard.h	2007-06-15 19:20:10 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/sched_hard.h linux-2.6.22.9-vs2.2.0.4/kernel/sched_hard.h
+--- linux-2.6.22.9/kernel/sched_hard.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/sched_hard.h	2007-06-15 19:20:10 +0200
 @@ -0,0 +1,324 @@
 +
 +#ifdef CONFIG_VSERVER_IDLELIMIT
@@ -17031,8 +17423,9 @@
 +
 +#endif /* CONFIG_VSERVER_HARDCPU */
 +
---- linux-2.6.22.2/kernel/sched_mon.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/sched_mon.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/sched_mon.h linux-2.6.22.9-vs2.2.0.4/kernel/sched_mon.h
+--- linux-2.6.22.9/kernel/sched_mon.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/sched_mon.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,200 @@
 +
 +#include <linux/vserver/monitor.h>
@@ -17234,8 +17627,9 @@
 +
 +#endif /* CONFIG_VSERVER_MONITOR */
 +
---- linux-2.6.22.2/kernel/signal.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/signal.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/signal.c linux-2.6.22.9-vs2.2.0.4/kernel/signal.c
+--- linux-2.6.22.9/kernel/signal.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/signal.c	2007-10-01 15:25:35 +0200
 @@ -26,6 +26,8 @@
  #include <linux/freezer.h>
  #include <linux/pid_namespace.h>
@@ -17310,7 +17704,7 @@
  				int err = group_send_sig_info(sig, info, p);
  				++count;
  				if (err != -EPERM)
-@@ -1815,6 +1833,11 @@ relock:
+@@ -1814,6 +1832,11 @@ relock:
  		if (current == child_reaper(current))
  			continue;
  
@@ -17322,8 +17716,9 @@
  		if (sig_kernel_stop(signr)) {
  			/*
  			 * The default action is to stop all threads in
---- linux-2.6.22.2/kernel/softirq.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/softirq.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/softirq.c linux-2.6.22.9-vs2.2.0.4/kernel/softirq.c
+--- linux-2.6.22.9/kernel/softirq.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/softirq.c	2007-06-15 02:37:04 +0200
 @@ -18,6 +18,7 @@
  #include <linux/rcupdate.h>
  #include <linux/smp.h>
@@ -17332,8 +17727,9 @@
  
  #include <asm/irq.h>
  /*
---- linux-2.6.22.2/kernel/sys.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/sys.c	2007-06-15 05:28:51 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/sys.c linux-2.6.22.9-vs2.2.0.4/kernel/sys.c
+--- linux-2.6.22.9/kernel/sys.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/sys.c	2007-10-01 15:25:35 +0200
 @@ -35,6 +35,7 @@
  #include <linux/compat.h>
  #include <linux/syscalls.h>
@@ -17421,7 +17817,7 @@
  	if (!new_user)
  		return -EAGAIN;
  
-@@ -1433,15 +1449,18 @@ asmlinkage long sys_setpgid(pid_t pid, p
+@@ -1432,15 +1448,18 @@ asmlinkage long sys_setpgid(pid_t pid, p
  {
  	struct task_struct *p;
  	struct task_struct *group_leader = current->group_leader;
@@ -17441,7 +17837,7 @@
  	/* From this point forward we keep holding onto the tasklist lock
  	 * so that our parent does not change from under us. -DaveM
  	 */
-@@ -1475,20 +1494,20 @@ asmlinkage long sys_setpgid(pid_t pid, p
+@@ -1474,20 +1493,20 @@ asmlinkage long sys_setpgid(pid_t pid, p
  
  	if (pgid != pid) {
  		struct task_struct *g =
@@ -17467,7 +17863,7 @@
  	}
  
  	err = 0;
-@@ -1501,7 +1520,7 @@ out:
+@@ -1500,7 +1519,7 @@ out:
  asmlinkage long sys_getpgid(pid_t pid)
  {
  	if (!pid)
@@ -17476,7 +17872,7 @@
  	else {
  		int retval;
  		struct task_struct *p;
-@@ -1513,7 +1532,7 @@ asmlinkage long sys_getpgid(pid_t pid)
+@@ -1512,7 +1531,7 @@ asmlinkage long sys_getpgid(pid_t pid)
  		if (p) {
  			retval = security_task_getpgid(p);
  			if (!retval)
@@ -17485,7 +17881,7 @@
  		}
  		read_unlock(&tasklist_lock);
  		return retval;
-@@ -1864,7 +1883,7 @@ asmlinkage long sys_sethostname(char __u
+@@ -1863,7 +1882,7 @@ asmlinkage long sys_sethostname(char __u
  	int errno;
  	char tmp[__NEW_UTS_LEN];
  
@@ -17494,7 +17890,7 @@
  		return -EPERM;
  	if (len < 0 || len > __NEW_UTS_LEN)
  		return -EINVAL;
-@@ -1909,7 +1928,7 @@ asmlinkage long sys_setdomainname(char _
+@@ -1908,7 +1927,7 @@ asmlinkage long sys_setdomainname(char _
  	int errno;
  	char tmp[__NEW_UTS_LEN];
  
@@ -17503,7 +17899,7 @@
  		return -EPERM;
  	if (len < 0 || len > __NEW_UTS_LEN)
  		return -EINVAL;
-@@ -1976,7 +1995,7 @@ asmlinkage long sys_setrlimit(unsigned i
+@@ -1975,7 +1994,7 @@ asmlinkage long sys_setrlimit(unsigned i
  		return -EINVAL;
  	old_rlim = current->signal->rlim + resource;
  	if ((new_rlim.rlim_max > old_rlim->rlim_max) &&
@@ -17512,8 +17908,9 @@
  		return -EPERM;
  	if (resource == RLIMIT_NOFILE && new_rlim.rlim_max > NR_OPEN)
  		return -EPERM;
---- linux-2.6.22.2/kernel/sysctl.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/sysctl.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/sysctl.c linux-2.6.22.9-vs2.2.0.4/kernel/sysctl.c
+--- linux-2.6.22.9/kernel/sysctl.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/sysctl.c	2007-06-15 02:37:04 +0200
 @@ -89,6 +89,7 @@ static int ngroups_max = NGROUPS_MAX;
  #ifdef CONFIG_KMOD
  extern char modprobe_path[];
@@ -17538,8 +17935,9 @@
  #ifdef CONFIG_CHR_DEV_SG
  	{
  		.ctl_name	= KERN_SG_BIG_BUFF,
---- linux-2.6.22.2/kernel/time.c	2007-07-09 13:20:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/time.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/time.c linux-2.6.22.9-vs2.2.0.4/kernel/time.c
+--- linux-2.6.22.9/kernel/time.c	2007-07-09 13:20:03 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/time.c	2007-06-15 02:37:04 +0200
 @@ -60,7 +60,7 @@ asmlinkage long sys_time(time_t __user *
  	time_t i;
  	struct timeval tv;
@@ -17585,8 +17983,9 @@
  	tv->tv_sec = x.tv_sec;
  	tv->tv_nsec = x.tv_usec * NSEC_PER_USEC;
  }
---- linux-2.6.22.2/kernel/timer.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/timer.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/timer.c linux-2.6.22.9-vs2.2.0.4/kernel/timer.c
+--- linux-2.6.22.9/kernel/timer.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/timer.c	2007-06-15 02:37:04 +0200
 @@ -36,6 +36,10 @@
  #include <linux/delay.h>
  #include <linux/tick.h>
@@ -17654,8 +18053,9 @@
  		info->uptime = tp.tv_sec + (tp.tv_nsec ? 1 : 0);
  
  		info->loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
---- linux-2.6.22.2/kernel/user.c	2007-02-06 03:01:56 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/user.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/user.c linux-2.6.22.9-vs2.2.0.4/kernel/user.c
+--- linux-2.6.22.9/kernel/user.c	2007-02-06 03:01:56 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/user.c	2007-06-15 02:37:04 +0200
 @@ -23,8 +23,8 @@
  #define UIDHASH_BITS (CONFIG_BASE_SMALL ? 3 : 8)
  #define UIDHASH_SZ		(1 << UIDHASH_BITS)
@@ -17744,8 +18144,9 @@
  	spin_unlock_irq(&uidhash_lock);
  
  	return 0;
---- linux-2.6.22.2/kernel/utsname.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/utsname.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/utsname.c linux-2.6.22.9-vs2.2.0.4/kernel/utsname.c
+--- linux-2.6.22.9/kernel/utsname.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/kernel/utsname.c	2007-06-15 02:37:04 +0200
 @@ -13,6 +13,7 @@
  #include <linux/uts.h>
  #include <linux/utsname.h>
@@ -17769,8 +18170,9 @@
 +	atomic_dec(&vs_global_uts_ns);
  	kfree(ns);
  }
---- linux-2.6.22.2/kernel/vserver/Kconfig	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/Kconfig	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/Kconfig linux-2.6.22.9-vs2.2.0.4/kernel/vserver/Kconfig
+--- linux-2.6.22.9/kernel/vserver/Kconfig	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/Kconfig	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,284 @@
 +#
 +# Linux VServer configuration
@@ -18056,8 +18458,9 @@
 +	depends on EXPERIMENTAL && !VSERVER_LEGACYNET
 +	default y
 +
---- linux-2.6.22.2/kernel/vserver/Makefile	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/Makefile	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/Makefile linux-2.6.22.9-vs2.2.0.4/kernel/vserver/Makefile
+--- linux-2.6.22.9/kernel/vserver/Makefile	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/Makefile	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,17 @@
 +#
 +# Makefile for the Linux vserver routines.
@@ -18076,8 +18479,9 @@
 +vserver-$(CONFIG_VSERVER_HISTORY) += history.o
 +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
 +
---- linux-2.6.22.2/kernel/vserver/cacct.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cacct.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cacct.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct.c
+--- linux-2.6.22.9/kernel/vserver/cacct.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,44 @@
 +/*
 + *  linux/kernel/vserver/cacct.c
@@ -18123,8 +18527,9 @@
 +	return 0;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/cacct_init.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cacct_init.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cacct_init.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct_init.h
+--- linux-2.6.22.9/kernel/vserver/cacct_init.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct_init.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,25 @@
 +
 +
@@ -18151,8 +18556,9 @@
 +	return;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/cacct_proc.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cacct_proc.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cacct_proc.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct_proc.h
+--- linux-2.6.22.9/kernel/vserver/cacct_proc.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cacct_proc.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CACCT_PROC_H
 +#define _VX_CACCT_PROC_H
@@ -18207,9 +18613,10 @@
 +}
 +
 +#endif	/* _VX_CACCT_PROC_H */
---- linux-2.6.22.2/kernel/vserver/context.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/context.c	2007-07-19 12:12:13 +0200
-@@ -0,0 +1,1104 @@
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/context.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/context.c
+--- linux-2.6.22.9/kernel/vserver/context.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/context.c	2007-10-01 15:47:53 +0200
+@@ -0,0 +1,1106 @@
 +/*
 + *  linux/kernel/vserver/context.c
 + *
@@ -18403,14 +18810,16 @@
 +{
 +	unsigned long flags;
 +
-+	/* context shutdown is mandatory */
-+	BUG_ON(!vx_info_state(vxi, VXS_SHUTDOWN));
-+
++	/* check for reference counts first */
 +	BUG_ON(atomic_read(&vxi->vx_usecnt));
 +	BUG_ON(atomic_read(&vxi->vx_tasks));
 +
++	/* context must not be hashed */
 +	BUG_ON(vx_info_state(vxi, VXS_HASHED));
 +
++	/* context shutdown is mandatory */
++	BUG_ON(!vx_info_state(vxi, VXS_SHUTDOWN));
++
 +	BUG_ON(vxi->vx_nsproxy);
 +	BUG_ON(vxi->vx_fs);
 +
@@ -19314,8 +19723,9 @@
 +
 +EXPORT_SYMBOL_GPL(free_vx_info);
 +
---- linux-2.6.22.2/kernel/vserver/cvirt.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cvirt.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cvirt.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt.c
+--- linux-2.6.22.9/kernel/vserver/cvirt.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,304 @@
 +/*
 + *  linux/kernel/vserver/cvirt.c
@@ -19621,8 +20031,9 @@
 +
 +#endif
 +
---- linux-2.6.22.2/kernel/vserver/cvirt_init.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cvirt_init.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cvirt_init.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt_init.h
+--- linux-2.6.22.9/kernel/vserver/cvirt_init.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt_init.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,69 @@
 +
 +
@@ -19693,8 +20104,9 @@
 +	return;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/cvirt_proc.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/cvirt_proc.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/cvirt_proc.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt_proc.h
+--- linux-2.6.22.9/kernel/vserver/cvirt_proc.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/cvirt_proc.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,133 @@
 +#ifndef _VX_CVIRT_PROC_H
 +#define _VX_CVIRT_PROC_H
@@ -19829,8 +20241,9 @@
 +}
 +
 +#endif	/* _VX_CVIRT_PROC_H */
---- linux-2.6.22.2/kernel/vserver/debug.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/debug.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/debug.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/debug.c
+--- linux-2.6.22.9/kernel/vserver/debug.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/debug.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,35 @@
 +/*
 + *  kernel/vserver/debug.c
@@ -19867,8 +20280,9 @@
 +
 +EXPORT_SYMBOL_GPL(dump_vx_info);
 +
---- linux-2.6.22.2/kernel/vserver/dlimit.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/dlimit.c	2007-07-17 03:02:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/dlimit.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/dlimit.c
+--- linux-2.6.22.9/kernel/vserver/dlimit.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/dlimit.c	2007-07-17 03:02:15 +0200
 @@ -0,0 +1,526 @@
 +/*
 + *  linux/kernel/vserver/dlimit.c
@@ -20396,8 +20810,9 @@
 +EXPORT_SYMBOL_GPL(locate_dl_info);
 +EXPORT_SYMBOL_GPL(rcu_free_dl_info);
 +
---- linux-2.6.22.2/kernel/vserver/helper.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/helper.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/helper.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/helper.c
+--- linux-2.6.22.9/kernel/vserver/helper.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/helper.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,208 @@
 +/*
 + *  linux/kernel/vserver/helper.c
@@ -20607,8 +21022,9 @@
 +	return do_vshelper(vshelper_path, argv, envp, 1);
 +}
 +
---- linux-2.6.22.2/kernel/vserver/history.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/history.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/history.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/history.c
+--- linux-2.6.22.9/kernel/vserver/history.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/history.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,264 @@
 +/*
 + *  kernel/vserver/history.c
@@ -20874,8 +21290,9 @@
 +
 +#endif	/* CONFIG_COMPAT */
 +
---- linux-2.6.22.2/kernel/vserver/init.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/init.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/init.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/init.c
+--- linux-2.6.22.9/kernel/vserver/init.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/init.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,47 @@
 +/*
 + *  linux/kernel/init.c
@@ -20924,8 +21341,9 @@
 +module_init(init_vserver);
 +module_exit(exit_vserver);
 +
---- linux-2.6.22.2/kernel/vserver/inode.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/inode.c	2007-07-16 06:39:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/inode.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/inode.c
+--- linux-2.6.22.9/kernel/vserver/inode.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/inode.c	2007-07-16 06:39:15 +0200
 @@ -0,0 +1,417 @@
 +/*
 + *  linux/kernel/vserver/inode.c
@@ -21344,8 +21762,9 @@
 +
 +#endif	/* CONFIG_PROPAGATE */
 +
---- linux-2.6.22.2/kernel/vserver/legacy.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/legacy.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/legacy.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/legacy.c
+--- linux-2.6.22.9/kernel/vserver/legacy.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/legacy.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,114 @@
 +/*
 + *  linux/kernel/vserver/legacy.c
@@ -21461,8 +21880,9 @@
 +	return ret;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/legacynet.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/legacynet.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/legacynet.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/legacynet.c
+--- linux-2.6.22.9/kernel/vserver/legacynet.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/legacynet.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,85 @@
 +
 +/*
@@ -21549,8 +21969,9 @@
 +}
 +
 +
---- linux-2.6.22.2/kernel/vserver/limit.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/limit.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/limit.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit.c
+--- linux-2.6.22.9/kernel/vserver/limit.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,319 @@
 +/*
 + *  linux/kernel/vserver/limit.c
@@ -21871,8 +22292,9 @@
 +	return points;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/limit_init.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/limit_init.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/limit_init.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit_init.h
+--- linux-2.6.22.9/kernel/vserver/limit_init.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit_init.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,33 @@
 +
 +
@@ -21907,8 +22329,9 @@
 +#endif
 +}
 +
---- linux-2.6.22.2/kernel/vserver/limit_proc.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/limit_proc.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/limit_proc.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit_proc.h
+--- linux-2.6.22.9/kernel/vserver/limit_proc.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/limit_proc.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,57 @@
 +#ifndef _VX_LIMIT_PROC_H
 +#define _VX_LIMIT_PROC_H
@@ -21967,8 +22390,9 @@
 +#endif	/* _VX_LIMIT_PROC_H */
 +
 +
---- linux-2.6.22.2/kernel/vserver/monitor.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/monitor.c	2007-06-15 05:59:57 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/monitor.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/monitor.c
+--- linux-2.6.22.9/kernel/vserver/monitor.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/monitor.c	2007-06-15 05:59:57 +0200
 @@ -0,0 +1,143 @@
 +/*
 + *  kernel/vserver/monitor.c
@@ -22113,8 +22537,9 @@
 +
 +#endif	/* CONFIG_COMPAT */
 +
---- linux-2.6.22.2/kernel/vserver/network.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/network.c	2007-07-19 07:08:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/network.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/network.c
+--- linux-2.6.22.9/kernel/vserver/network.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/network.c	2007-07-19 07:08:54 +0200
 @@ -0,0 +1,771 @@
 +/*
 + *  linux/kernel/vserver/network.c
@@ -22887,8 +23312,9 @@
 +EXPORT_SYMBOL_GPL(free_nx_info);
 +EXPORT_SYMBOL_GPL(unhash_nx_info);
 +
---- linux-2.6.22.2/kernel/vserver/proc.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/proc.c	2007-06-15 19:20:10 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/proc.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/proc.c
+--- linux-2.6.22.9/kernel/vserver/proc.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/proc.c	2007-06-15 19:20:10 +0200
 @@ -0,0 +1,1033 @@
 +/*
 + *  linux/kernel/vserver/proc.c
@@ -23923,8 +24349,9 @@
 +	return buffer - orig;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/sched.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/sched.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/sched.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched.c
+--- linux-2.6.22.9/kernel/vserver/sched.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,447 @@
 +/*
 + *  linux/kernel/vserver/sched.c
@@ -24373,8 +24800,9 @@
 +	return 0;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/sched_init.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/sched_init.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/sched_init.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched_init.h
+--- linux-2.6.22.9/kernel/vserver/sched_init.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched_init.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,50 @@
 +
 +static inline void vx_info_init_sched(struct _vx_sched *sched)
@@ -24426,8 +24854,9 @@
 +{
 +	return;
 +}
---- linux-2.6.22.2/kernel/vserver/sched_proc.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/sched_proc.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/sched_proc.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched_proc.h
+--- linux-2.6.22.9/kernel/vserver/sched_proc.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sched_proc.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,57 @@
 +#ifndef _VX_SCHED_PROC_H
 +#define _VX_SCHED_PROC_H
@@ -24486,8 +24915,9 @@
 +}
 +
 +#endif	/* _VX_SCHED_PROC_H */
---- linux-2.6.22.2/kernel/vserver/signal.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/signal.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/signal.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/signal.c
+--- linux-2.6.22.9/kernel/vserver/signal.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/signal.c	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,134 @@
 +/*
 + *  linux/kernel/vserver/signal.c
@@ -24623,8 +25053,9 @@
 +	return ret;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/space.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/space.c	2007-06-16 19:12:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/space.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/space.c
+--- linux-2.6.22.9/kernel/vserver/space.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/space.c	2007-06-16 19:12:02 +0200
 @@ -0,0 +1,281 @@
 +/*
 + *  linux/kernel/vserver/space.c
@@ -24907,8 +25338,9 @@
 +	return 0;
 +}
 +
---- linux-2.6.22.2/kernel/vserver/switch.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/switch.c	2007-07-16 06:40:28 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/switch.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/switch.c
+--- linux-2.6.22.9/kernel/vserver/switch.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/switch.c	2007-07-16 06:40:28 +0200
 @@ -0,0 +1,538 @@
 +/*
 + *  linux/kernel/vserver/switch.c
@@ -25448,8 +25880,9 @@
 +}
 +
 +#endif	/* CONFIG_COMPAT */
---- linux-2.6.22.2/kernel/vserver/sysctl.c	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/sysctl.c	2007-06-16 05:31:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/sysctl.c linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sysctl.c
+--- linux-2.6.22.9/kernel/vserver/sysctl.c	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/sysctl.c	2007-06-16 05:31:20 +0200
 @@ -0,0 +1,248 @@
 +/*
 + *  kernel/vserver/sysctl.c
@@ -25699,8 +26132,9 @@
 +EXPORT_SYMBOL_GPL(vx_debug_space);
 +EXPORT_SYMBOL_GPL(vx_debug_misc);
 +
---- linux-2.6.22.2/kernel/vserver/vci_config.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/kernel/vserver/vci_config.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/kernel/vserver/vci_config.h linux-2.6.22.9-vs2.2.0.4/kernel/vserver/vci_config.h
+--- linux-2.6.22.9/kernel/vserver/vci_config.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/kernel/vserver/vci_config.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,92 @@
 +
 +/*  interface version */
@@ -25794,8 +26228,9 @@
 +	0;
 +}
 +
---- linux-2.6.22.2/mm/filemap.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/filemap.c	2007-07-09 13:11:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/filemap.c linux-2.6.22.9-vs2.2.0.4/mm/filemap.c
+--- linux-2.6.22.9/mm/filemap.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/filemap.c	2007-07-09 13:11:54 +0200
 @@ -1245,6 +1245,31 @@ int file_send_actor(read_descriptor_t * 
  	return written;
  }
@@ -26061,8 +26496,9 @@
  ssize_t generic_file_aio_write_nolock(struct kiocb *iocb,
  		const struct iovec *iov, unsigned long nr_segs, loff_t pos)
  {
---- linux-2.6.22.2/mm/filemap_xip.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/filemap_xip.c	2007-06-15 05:30:21 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/filemap_xip.c linux-2.6.22.9-vs2.2.0.4/mm/filemap_xip.c
+--- linux-2.6.22.9/mm/filemap_xip.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/filemap_xip.c	2007-06-15 05:30:21 +0200
 @@ -14,6 +14,7 @@
  #include <linux/uio.h>
  #include <linux/rmap.h>
@@ -26071,8 +26507,9 @@
  #include <asm/tlbflush.h>
  #include "filemap.h"
  
---- linux-2.6.22.2/mm/fremap.c	2007-02-06 03:01:56 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/mm/fremap.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/fremap.c linux-2.6.22.9-vs2.2.0.4/mm/fremap.c
+--- linux-2.6.22.9/mm/fremap.c	2007-02-06 03:01:56 +0100
++++ linux-2.6.22.9-vs2.2.0.4/mm/fremap.c	2007-06-15 02:37:04 +0200
 @@ -15,6 +15,7 @@
  #include <linux/rmap.h>
  #include <linux/module.h>
@@ -26090,8 +26527,9 @@
  
  	if (pte_none(*pte) || !zap_pte(mm, vma, addr, pte))
  		inc_mm_counter(mm, file_rss);
---- linux-2.6.22.2/mm/hugetlb.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/hugetlb.c	2007-08-12 12:21:52 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/hugetlb.c linux-2.6.22.9-vs2.2.0.4/mm/hugetlb.c
+--- linux-2.6.22.9/mm/hugetlb.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/hugetlb.c	2007-08-12 12:21:52 +0200
 @@ -19,6 +19,7 @@
  #include <asm/pgtable.h>
  
@@ -26100,8 +26538,9 @@
  #include "internal.h"
  
  const unsigned long hugetlb_zero = 0, hugetlb_infinity = ~0UL;
---- linux-2.6.22.2/mm/memory.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/memory.c	2007-06-17 05:55:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/memory.c linux-2.6.22.9-vs2.2.0.4/mm/memory.c
+--- linux-2.6.22.9/mm/memory.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/memory.c	2007-06-17 05:55:53 +0200
 @@ -498,6 +498,9 @@ static int copy_pte_range(struct mm_stru
  	int progress = 0;
  	int rss[2];
@@ -26178,8 +26617,9 @@
  }
  
  /*
---- linux-2.6.22.2/mm/mlock.c	2007-08-12 03:08:02 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/mlock.c	2007-08-12 12:21:52 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/mlock.c linux-2.6.22.9-vs2.2.0.4/mm/mlock.c
+--- linux-2.6.22.9/mm/mlock.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/mlock.c	2007-08-12 12:21:52 +0200
 @@ -12,6 +12,7 @@
  #include <linux/syscalls.h>
  #include <linux/sched.h>
@@ -26236,8 +26676,9 @@
  	if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) ||
  	    capable(CAP_IPC_LOCK))
  		ret = do_mlockall(flags);
---- linux-2.6.22.2/mm/mmap.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/mmap.c	2007-07-17 03:02:15 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/mmap.c linux-2.6.22.9-vs2.2.0.4/mm/mmap.c
+--- linux-2.6.22.9/mm/mmap.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/mmap.c	2007-07-17 03:02:15 +0200
 @@ -1144,10 +1144,10 @@ munmap_back:
  		kmem_cache_free(vm_area_cachep, vma);
  	}
@@ -26346,8 +26787,9 @@
 +	vx_vmpages_add(mm, len >> PAGE_SHIFT);
  	return 0;
  }
---- linux-2.6.22.2/mm/mremap.c	2007-02-06 03:01:56 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/mm/mremap.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/mremap.c linux-2.6.22.9-vs2.2.0.4/mm/mremap.c
+--- linux-2.6.22.9/mm/mremap.c	2007-02-06 03:01:56 +0100
++++ linux-2.6.22.9-vs2.2.0.4/mm/mremap.c	2007-06-15 02:37:04 +0200
 @@ -18,6 +18,7 @@
  #include <linux/highmem.h>
  #include <linux/security.h>
@@ -26397,8 +26839,9 @@
  				make_pages_present(addr + old_len,
  						   addr + new_len);
  			}
---- linux-2.6.22.2/mm/nommu.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/nommu.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/nommu.c linux-2.6.22.9-vs2.2.0.4/mm/nommu.c
+--- linux-2.6.22.9/mm/nommu.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/nommu.c	2007-06-15 02:37:04 +0200
 @@ -936,7 +936,7 @@ unsigned long do_mmap_pgoff(struct file 
  	realalloc += kobjsize(vma);
  	askedalloc += sizeof(*vma);
@@ -26426,8 +26869,9 @@
  
  		while ((tmp = mm->context.vmlist)) {
  			mm->context.vmlist = tmp->next;
---- linux-2.6.22.2/mm/oom_kill.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/oom_kill.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/oom_kill.c linux-2.6.22.9-vs2.2.0.4/mm/oom_kill.c
+--- linux-2.6.22.9/mm/oom_kill.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/oom_kill.c	2007-06-15 02:37:04 +0200
 @@ -24,6 +24,7 @@
  #include <linux/cpuset.h>
  #include <linux/module.h>
@@ -26481,8 +26925,9 @@
  
  	/* Try to kill a child first */
  	list_for_each(tsk, &p->children) {
---- linux-2.6.22.2/mm/page_alloc.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/page_alloc.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/page_alloc.c linux-2.6.22.9-vs2.2.0.4/mm/page_alloc.c
+--- linux-2.6.22.9/mm/page_alloc.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/page_alloc.c	2007-06-17 05:54:20 +0200
 @@ -41,6 +41,8 @@
  #include <linux/pfn.h>
  #include <linux/backing-dev.h>
@@ -26512,8 +26957,9 @@
  }
  #endif
  
---- linux-2.6.22.2/mm/rmap.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/rmap.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/rmap.c linux-2.6.22.9-vs2.2.0.4/mm/rmap.c
+--- linux-2.6.22.9/mm/rmap.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/rmap.c	2007-07-07 03:52:54 +0200
 @@ -48,6 +48,7 @@
  #include <linux/rcupdate.h>
  #include <linux/module.h>
@@ -26522,8 +26968,9 @@
  
  #include <asm/tlbflush.h>
  
---- linux-2.6.22.2/mm/shmem.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/shmem.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/shmem.c linux-2.6.22.9-vs2.2.0.4/mm/shmem.c
+--- linux-2.6.22.9/mm/shmem.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/shmem.c	2007-06-17 05:54:20 +0200
 @@ -55,7 +55,6 @@
  #include <asm/pgtable.h>
  
@@ -26550,8 +26997,9 @@
  	sb->s_op = &shmem_ops;
  	sb->s_time_gran = 1;
  #ifdef CONFIG_TMPFS_POSIX_ACL
---- linux-2.6.22.2/mm/slab.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/slab.c	2007-07-09 13:11:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/slab.c linux-2.6.22.9-vs2.2.0.4/mm/slab.c
+--- linux-2.6.22.9/mm/slab.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/slab.c	2007-07-09 13:11:54 +0200
 @@ -510,6 +510,8 @@ struct kmem_cache {
  #define STATS_INC_FREEMISS(x)	do { } while (0)
  #endif
@@ -26585,8 +27033,9 @@
  
  	if (cache_free_alien(cachep, objp))
  		return;
---- linux-2.6.22.2/mm/slab_vs.h	1970-01-01 01:00:00 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/mm/slab_vs.h	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/slab_vs.h linux-2.6.22.9-vs2.2.0.4/mm/slab_vs.h
+--- linux-2.6.22.9/mm/slab_vs.h	1970-01-01 01:00:00 +0100
++++ linux-2.6.22.9-vs2.2.0.4/mm/slab_vs.h	2007-06-15 02:37:04 +0200
 @@ -0,0 +1,27 @@
 +
 +#include <linux/vserver/context.h>
@@ -26615,8 +27064,9 @@
 +	atomic_sub(cachep->buffer_size, &current->vx_info->cacct.slab[what]);
 +}
 +
---- linux-2.6.22.2/mm/swapfile.c	2007-07-09 13:20:04 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/mm/swapfile.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/mm/swapfile.c linux-2.6.22.9-vs2.2.0.4/mm/swapfile.c
+--- linux-2.6.22.9/mm/swapfile.c	2007-07-09 13:20:04 +0200
++++ linux-2.6.22.9-vs2.2.0.4/mm/swapfile.c	2007-06-15 02:37:04 +0200
 @@ -31,6 +31,8 @@
  #include <asm/pgtable.h>
  #include <asm/tlbflush.h>
@@ -26635,8 +27085,9 @@
  }
  
  /*
---- linux-2.6.22.2/net/core/dev.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/core/dev.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/core/dev.c linux-2.6.22.9-vs2.2.0.4/net/core/dev.c
+--- linux-2.6.22.9/net/core/dev.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/core/dev.c	2007-09-05 03:05:53 +0200
 @@ -117,6 +117,8 @@
  #include <linux/err.h>
  #include <linux/ctype.h>
@@ -26667,8 +27118,9 @@
  
  	seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu "
  		   "%8lu %7lu %4lu %4lu %4lu %5lu %7lu %10lu\n",
---- linux-2.6.22.2/net/core/rtnetlink.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/core/rtnetlink.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/core/rtnetlink.c linux-2.6.22.9-vs2.2.0.4/net/core/rtnetlink.c
+--- linux-2.6.22.9/net/core/rtnetlink.c	2007-07-09 13:20:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/core/rtnetlink.c	2007-06-17 05:54:20 +0200
 @@ -35,6 +35,7 @@
  #include <linux/security.h>
  #include <linux/mutex.h>
@@ -26687,8 +27139,9 @@
  		if (idx < s_idx)
  			goto cont;
  		if (rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
---- linux-2.6.22.2/net/core/sock.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/core/sock.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/core/sock.c linux-2.6.22.9-vs2.2.0.4/net/core/sock.c
+--- linux-2.6.22.9/net/core/sock.c	2007-07-09 13:20:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/core/sock.c	2007-06-15 02:37:04 +0200
 @@ -125,6 +125,9 @@
  #include <linux/ipsec.h>
  
@@ -26754,8 +27207,9 @@
  	atomic_set(&sk->sk_refcnt, 1);
  }
  
---- linux-2.6.22.2/net/ipv4/af_inet.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/af_inet.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/af_inet.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/af_inet.c
+--- linux-2.6.22.9/net/ipv4/af_inet.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/af_inet.c	2007-09-05 03:05:54 +0200
 @@ -115,6 +115,7 @@
  #ifdef CONFIG_IP_MROUTE
  #include <linux/mroute.h>
@@ -26849,8 +27303,9 @@
  	if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
  		inet->saddr = 0;  /* Use device */
  
---- linux-2.6.22.2/net/ipv4/devinet.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/devinet.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/devinet.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/devinet.c
+--- linux-2.6.22.9/net/ipv4/devinet.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/devinet.c	2007-10-01 15:25:35 +0200
 @@ -56,6 +56,7 @@
  #include <linux/sysctl.h>
  #endif
@@ -26918,10 +27373,11 @@
 +				!ifa_in_nx_info(ifa, sk->sk_nx_info))
 +				continue;
  			if (ip_idx < s_ip_idx)
- 				goto cont;
+ 				continue;
  			if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
---- linux-2.6.22.2/net/ipv4/fib_hash.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/fib_hash.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/fib_hash.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/fib_hash.c
+--- linux-2.6.22.9/net/ipv4/fib_hash.c	2007-07-09 13:20:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/fib_hash.c	2007-06-15 02:37:04 +0200
 @@ -34,6 +34,7 @@
  #include <linux/skbuff.h>
  #include <linux/netlink.h>
@@ -26949,8 +27405,9 @@
  		snprintf(bf, sizeof(bf),
  			 "%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u",
  			 fi->fib_dev ? fi->fib_dev->name : "*", prefix,
---- linux-2.6.22.2/net/ipv4/inet_connection_sock.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/inet_connection_sock.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/inet_connection_sock.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_connection_sock.c
+--- linux-2.6.22.9/net/ipv4/inet_connection_sock.c	2007-07-09 13:20:05 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_connection_sock.c	2007-06-15 02:37:04 +0200
 @@ -37,7 +37,6 @@ int sysctl_local_port_range[2] = { 32768
  int inet_csk_bind_conflict(const struct sock *sk,
  			   const struct inet_bind_bucket *tb)
@@ -26971,8 +27428,9 @@
  					break;
  			}
  		}
---- linux-2.6.22.2/net/ipv4/inet_diag.c	2007-07-09 13:20:05 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/inet_diag.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/inet_diag.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_diag.c
+--- linux-2.6.22.9/net/ipv4/inet_diag.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_diag.c	2007-10-01 15:25:35 +0200
 @@ -697,6 +697,8 @@ static int inet_diag_dump(struct sk_buff
  			sk_for_each(sk, node, &hashinfo->listening_hash[i]) {
  				struct inet_sock *inet = inet_sk(sk);
@@ -27000,8 +27458,9 @@
  				if (num < s_num)
  					goto next_dying;
  				if (r->id.idiag_sport != tw->tw_sport &&
---- linux-2.6.22.2/net/ipv4/inet_hashtables.c	2007-05-02 19:25:40 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/inet_hashtables.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/inet_hashtables.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_hashtables.c
+--- linux-2.6.22.9/net/ipv4/inet_hashtables.c	2007-05-02 19:25:40 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/inet_hashtables.c	2007-06-15 02:37:04 +0200
 @@ -140,11 +140,10 @@ static struct sock *inet_lookup_listener
  			const __be32 rcv_saddr = inet->rcv_saddr;
  			int score = sk->sk_family == PF_INET ? 1 : 0;
@@ -27026,8 +27485,9 @@
  		    (sk->sk_family == PF_INET || !ipv6_only_sock(sk)) &&
  		    !sk->sk_bound_dev_if)
  			goto sherry_cache;
---- linux-2.6.22.2/net/ipv4/raw.c	2007-07-09 13:20:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/raw.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/raw.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/raw.c
+--- linux-2.6.22.9/net/ipv4/raw.c	2007-07-09 13:20:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/raw.c	2007-06-15 02:37:04 +0200
 @@ -101,6 +101,27 @@ static void raw_v4_unhash(struct sock *s
  	write_unlock_bh(&raw_v4_lock);
  }
@@ -27119,8 +27579,9 @@
  
  	if (!sk && ++state->bucket < RAWV4_HTABLE_SIZE) {
  		sk = sk_head(&raw_v4_htable[state->bucket]);
---- linux-2.6.22.2/net/ipv4/tcp.c	2007-07-09 13:20:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/tcp.c	2007-07-07 03:52:54 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/tcp.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp.c
+--- linux-2.6.22.9/net/ipv4/tcp.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp.c	2007-09-05 03:05:54 +0200
 @@ -258,6 +258,7 @@
  #include <linux/cache.h>
  #include <linux/err.h>
@@ -27129,8 +27590,9 @@
  
  #include <net/icmp.h>
  #include <net/tcp.h>
---- linux-2.6.22.2/net/ipv4/tcp_ipv4.c	2007-07-09 13:20:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/tcp_ipv4.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/tcp_ipv4.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp_ipv4.c
+--- linux-2.6.22.9/net/ipv4/tcp_ipv4.c	2007-09-05 03:37:50 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp_ipv4.c	2007-09-05 03:05:54 +0200
 @@ -1975,6 +1975,12 @@ static void *listening_get_next(struct s
  		req = req->dl_next;
  		while (1) {
@@ -27208,8 +27670,9 @@
  		if (sk->sk_family == st->family)
  			goto found;
  	}
---- linux-2.6.22.2/net/ipv4/tcp_minisocks.c	2007-07-09 13:20:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/tcp_minisocks.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/tcp_minisocks.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp_minisocks.c
+--- linux-2.6.22.9/net/ipv4/tcp_minisocks.c	2007-07-09 13:20:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/tcp_minisocks.c	2007-06-15 02:37:04 +0200
 @@ -28,6 +28,10 @@
  #include <net/inet_common.h>
  #include <net/xfrm.h>
@@ -27233,8 +27696,9 @@
  #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
  		if (tw->tw_family == PF_INET6) {
  			struct ipv6_pinfo *np = inet6_sk(sk);
---- linux-2.6.22.2/net/ipv4/udp.c	2007-07-09 13:20:06 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv4/udp.c	2007-06-17 06:02:02 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv4/udp.c linux-2.6.22.9-vs2.2.0.4/net/ipv4/udp.c
+--- linux-2.6.22.9/net/ipv4/udp.c	2007-07-09 13:20:06 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv4/udp.c	2007-06-17 06:02:02 +0200
 @@ -221,11 +221,8 @@ int udp_get_port(struct sock *sk, unsign
  
  int ipv4_rcv_saddr_equal(const struct sock *sk1, const struct sock *sk2)
@@ -27330,8 +27794,9 @@
  
  	if (!sk && ++state->bucket < UDP_HTABLE_SIZE) {
  		sk = sk_head(state->hashtable + state->bucket);
---- linux-2.6.22.2/net/ipv6/addrconf.c	2007-08-12 03:08:03 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/ipv6/addrconf.c	2007-08-12 12:21:53 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/ipv6/addrconf.c linux-2.6.22.9-vs2.2.0.4/net/ipv6/addrconf.c
+--- linux-2.6.22.9/net/ipv6/addrconf.c	2007-09-30 15:54:34 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/ipv6/addrconf.c	2007-10-01 15:25:35 +0200
 @@ -2772,7 +2772,10 @@ static void if6_seq_stop(struct seq_file
  static int if6_seq_show(struct seq_file *seq, void *v)
  {
@@ -27366,8 +27831,9 @@
  	read_lock(&dev_base_lock);
  	idx = 0;
  	for_each_netdev(dev) {
---- linux-2.6.22.2/net/netlink/af_netlink.c	2007-07-09 13:20:07 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/netlink/af_netlink.c	2007-06-15 05:43:32 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/netlink/af_netlink.c linux-2.6.22.9-vs2.2.0.4/net/netlink/af_netlink.c
+--- linux-2.6.22.9/net/netlink/af_netlink.c	2007-07-09 13:20:07 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/netlink/af_netlink.c	2007-06-15 05:43:32 +0200
 @@ -56,6 +56,9 @@
  #include <linux/audit.h>
  #include <linux/selinux.h>
@@ -27378,8 +27844,9 @@
  
  #include <net/sock.h>
  #include <net/scm.h>
---- linux-2.6.22.2/net/socket.c	2007-07-09 13:20:13 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/socket.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/socket.c linux-2.6.22.9-vs2.2.0.4/net/socket.c
+--- linux-2.6.22.9/net/socket.c	2007-09-05 03:37:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/socket.c	2007-09-05 03:05:54 +0200
 @@ -92,6 +92,8 @@
  
  #include <net/sock.h>
@@ -27483,8 +27950,9 @@
  
  	err = sock1->ops->socketpair(sock1, sock2);
  	if (err < 0)
---- linux-2.6.22.2/net/sunrpc/auth.c	2007-05-02 19:25:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/sunrpc/auth.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/sunrpc/auth.c linux-2.6.22.9-vs2.2.0.4/net/sunrpc/auth.c
+--- linux-2.6.22.9/net/sunrpc/auth.c	2007-05-02 19:25:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/sunrpc/auth.c	2007-06-15 02:37:04 +0200
 @@ -13,6 +13,7 @@
  #include <linux/errno.h>
  #include <linux/sunrpc/clnt.h>
@@ -27509,8 +27977,9 @@
  		.group_info = current->group_info,
  	};
  	struct rpc_cred *ret;
---- linux-2.6.22.2/net/sunrpc/auth_unix.c	2007-05-02 19:25:48 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/sunrpc/auth_unix.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/sunrpc/auth_unix.c linux-2.6.22.9-vs2.2.0.4/net/sunrpc/auth_unix.c
+--- linux-2.6.22.9/net/sunrpc/auth_unix.c	2007-05-02 19:25:48 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/sunrpc/auth_unix.c	2007-06-15 02:37:04 +0200
 @@ -11,12 +11,14 @@
  #include <linux/module.h>
  #include <linux/sunrpc/clnt.h>
@@ -27576,8 +28045,9 @@
  	hold = p++;
  	for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++)
  		*p++ = htonl((u32) cred->uc_gids[i]);
---- linux-2.6.22.2/net/sunrpc/clnt.c	2007-07-09 13:20:13 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/sunrpc/clnt.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/sunrpc/clnt.c linux-2.6.22.9-vs2.2.0.4/net/sunrpc/clnt.c
+--- linux-2.6.22.9/net/sunrpc/clnt.c	2007-07-09 13:20:13 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/sunrpc/clnt.c	2007-06-15 02:37:04 +0200
 @@ -30,6 +30,7 @@
  #include <linux/smp_lock.h>
  #include <linux/utsname.h>
@@ -27597,8 +28067,9 @@
  	return clnt;
  }
  EXPORT_SYMBOL_GPL(rpc_create);
---- linux-2.6.22.2/net/unix/af_unix.c	2007-07-09 13:20:13 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/unix/af_unix.c	2007-06-17 05:54:20 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/unix/af_unix.c linux-2.6.22.9-vs2.2.0.4/net/unix/af_unix.c
+--- linux-2.6.22.9/net/unix/af_unix.c	2007-07-09 13:20:13 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/unix/af_unix.c	2007-06-17 05:54:20 +0200
 @@ -115,6 +115,8 @@
  #include <linux/mount.h>
  #include <net/checksum.h>
@@ -27626,8 +28097,9 @@
  		if (err)
  			goto out_mknod_dput;
  		mutex_unlock(&nd.dentry->d_inode->i_mutex);
---- linux-2.6.22.2/net/x25/af_x25.c	2007-07-09 13:20:13 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/net/x25/af_x25.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/net/x25/af_x25.c linux-2.6.22.9-vs2.2.0.4/net/x25/af_x25.c
+--- linux-2.6.22.9/net/x25/af_x25.c	2007-07-09 13:20:13 +0200
++++ linux-2.6.22.9-vs2.2.0.4/net/x25/af_x25.c	2007-06-15 02:37:04 +0200
 @@ -500,7 +500,10 @@ static int x25_create(struct socket *soc
  
  	x25 = x25_sk(sk);
@@ -27640,8 +28112,9 @@
  
  	x25_init_timers(sk);
  
---- linux-2.6.22.2/security/Kconfig	2006-11-30 21:19:47 +0100
-+++ linux-2.6.22.2-vs2.2.0.3/security/Kconfig	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/security/Kconfig linux-2.6.22.9-vs2.2.0.4/security/Kconfig
+--- linux-2.6.22.9/security/Kconfig	2006-11-30 21:19:47 +0100
++++ linux-2.6.22.9-vs2.2.0.4/security/Kconfig	2007-06-15 02:37:04 +0200
 @@ -6,6 +6,7 @@ menu "Security options"
  
  config KEYS
@@ -27650,8 +28123,9 @@
  	help
  	  This option provides support for retaining authentication tokens and
  	  access keys in the kernel.
---- linux-2.6.22.2/security/commoncap.c	2007-07-09 13:20:14 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/security/commoncap.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/security/commoncap.c linux-2.6.22.9-vs2.2.0.4/security/commoncap.c
+--- linux-2.6.22.9/security/commoncap.c	2007-07-09 13:20:14 +0200
++++ linux-2.6.22.9-vs2.2.0.4/security/commoncap.c	2007-06-15 02:37:04 +0200
 @@ -22,10 +22,11 @@
  #include <linux/ptrace.h>
  #include <linux/xattr.h>
@@ -27694,8 +28168,9 @@
  		return -EPERM;
  	return 0;
  }
---- linux-2.6.22.2/security/dummy.c	2007-05-02 19:25:51 +0200
-+++ linux-2.6.22.2-vs2.2.0.3/security/dummy.c	2007-06-15 02:37:04 +0200
+diff -NurpP --minimal linux-2.6.22.9/security/dummy.c linux-2.6.22.9-vs2.2.0.4/security/dummy.c
+--- linux-2.6.22.9/security/dummy.c	2007-05-02 19:25:51 +0200
++++ linux-2.6.22.9-vs2.2.0.4/security/dummy.c	2007-06-15 02:37:04 +0200
 @@ -28,6 +28,7 @@
  #include <linux/hugetlb.h>
  #include <linux/ptrace.h>

Modified: dists/sid/linux-2.6/debian/patches/series/5
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/5	(original)
+++ dists/sid/linux-2.6/debian/patches/series/5	Mon Oct  8 21:48:03 2007
@@ -4,3 +4,4 @@
 + bugfix/2.6.22.6
 + bugfix/2.6.22.7
 + bugfix/2.6.22.8
++ bugfix/2.6.22.9

Copied: dists/sid/linux-2.6/debian/patches/series/5-extra (from r9611, /dists/sid/linux-2.6/debian/patches/series/4-extra)
==============================================================================
--- /dists/sid/linux-2.6/debian/patches/series/4-extra	(original)
+++ dists/sid/linux-2.6/debian/patches/series/5-extra	Mon Oct  8 21:48:03 2007
@@ -1,2 +1,2 @@
-+ features/all/vserver/vs2.2.0.3.patch *_vserver *_xen-vserver
++ features/all/vserver/vs2.2.0.4.patch *_vserver *_xen-vserver
 + features/all/vserver/bindmount-dev.patch *_vserver *_xen-vserver



More information about the Kernel-svn-changes mailing list