SOURCES (LINUX_2_6_28): kernel-apparmor-after-grsec_full.patch, linux-2.6-g...

arekm arekm at pld-linux.org
Mon Apr 6 09:54:24 CEST 2009


Author: arekm                        Date: Mon Apr  6 07:54:24 2009 GMT
Module: SOURCES                       Tag: LINUX_2_6_28
---- Log message:
- updated to http://www.grsecurity.net/~spender/grsecurity-2.1.13-2.6.28.8-200903191958.patch

---- Files affected:
SOURCES:
   kernel-apparmor-after-grsec_full.patch (1.1.2.9 -> 1.1.2.9.2.1) , linux-2.6-grsec_full.patch (1.1.2.55.4.1 -> 1.1.2.55.4.2) , linux-2.6-grsec-common.patch (1.1.2.2.2.10 -> 1.1.2.2.2.10.4.1) 

---- Diffs:

================================================================
Index: SOURCES/kernel-apparmor-after-grsec_full.patch
diff -u SOURCES/kernel-apparmor-after-grsec_full.patch:1.1.2.9 SOURCES/kernel-apparmor-after-grsec_full.patch:1.1.2.9.2.1
--- SOURCES/kernel-apparmor-after-grsec_full.patch:1.1.2.9	Tue Mar 17 10:50:37 2009
+++ SOURCES/kernel-apparmor-after-grsec_full.patch	Mon Apr  6 09:54:17 2009
@@ -672,7 +672,7 @@
 diff -uprN a/fs/namei.c b/fs/namei.c
 --- a/fs/namei.c	2009-02-08 13:22:56.411597278 +0000
 +++ b/fs/namei.c	2009-02-08 13:26:38.909283473 +0000
-@@ -226,7 +226,7 @@ int generic_permission(struct inode *ino
+@@ -305,7 +305,7 @@ int generic_permission(struct inode *ino
  	return -EACCES;
  }
  
@@ -681,7 +681,7 @@
  {
  	int retval;
  
-@@ -256,7 +256,12 @@ int inode_permission(struct inode *inode
+@@ -339,7 +339,12 @@ int inode_permission(struct inode *inode
  	if (retval)
  		return retval;
  
@@ -695,7 +695,7 @@
  	if (retval)
  		return retval;
  
-@@ -264,6 +269,15 @@ int inode_permission(struct inode *inode
+@@ -347,6 +352,15 @@ int inode_permission(struct inode *inode
  			mask & (MAY_READ|MAY_WRITE|MAY_EXEC|MAY_APPEND));
  }
  
@@ -711,7 +711,7 @@
  /**
   * vfs_permission  -  check for access rights to a given path
   * @nd:		lookup result that describes the path
-@@ -276,7 +290,7 @@ int inode_permission(struct inode *inode
+@@ -359,7 +373,7 @@ int inode_permission(struct inode *inode
   */
  int vfs_permission(struct nameidata *nd, int mask)
  {
@@ -720,7 +720,7 @@
  }
  
  /**
-@@ -293,7 +307,7 @@ int vfs_permission(struct nameidata *nd,
+@@ -376,7 +390,7 @@ int vfs_permission(struct nameidata *nd,
   */
  int file_permission(struct file *file, int mask)
  {
@@ -729,7 +729,7 @@
  }
  
  /*
-@@ -434,8 +448,9 @@ static struct dentry * cached_lookup(str
+@@ -518,8 +532,9 @@ static struct dentry * cached_lookup(str
   * short-cut DAC fails, then call permission() to do more
   * complete permission check.
   */
@@ -739,8 +739,8 @@
 +	struct inode *inode = path->dentry->d_inode;
  	umode_t	mode = inode->i_mode;
  
- 	if (inode->i_op && inode->i_op->permission)
-@@ -460,7 +475,7 @@ static int exec_permission_lite(struct i
+ 	if (dx_barrier(inode))
+@@ -546,7 +561,7 @@ static int exec_permission_lite(struct i
  
  	return -EACCES;
  ok:
@@ -749,7 +749,7 @@
  }
  
  /*
-@@ -857,7 +872,7 @@ static int __link_path_walk(const char *
+@@ -965,7 +980,7 @@ static int __link_path_walk(const char *
  		unsigned int c;
  
  		nd->flags |= LOOKUP_CONTINUE;
@@ -758,7 +758,7 @@
  		if (err == -EAGAIN)
  			err = vfs_permission(nd, MAY_EXEC);
   		if (err)
-@@ -1052,24 +1067,21 @@ static int do_path_lookup(int dfd, const
+@@ -1167,24 +1182,21 @@ static int do_path_lookup(int dfd, const
  		path_get(&fs->pwd);
  		read_unlock(&fs->lock);
  	} else {
@@ -785,7 +785,7 @@
  		path_get(&file->f_path);
  
  		fput_light(file, fput_needed);
-@@ -1216,7 +1228,7 @@ static struct dentry *lookup_hash(struct
+@@ -1331,7 +1343,7 @@ static struct dentry *lookup_hash(struct
  {
  	int err;
  
@@ -794,7 +794,7 @@
  	if (err)
  		return ERR_PTR(err);
  	return __lookup_hash(&nd->last, nd->path.dentry, nd);
-@@ -1481,7 +1493,7 @@ int vfs_create(struct inode *dir, struct
+@@ -1596,7 +1608,7 @@ int vfs_create(struct inode *dir, struct
  		return -EACCES;	/* shouldn't it be ENOSYS? */
  	mode &= S_IALLUGO;
  	mode |= S_IFREG;
@@ -803,7 +803,7 @@
  	if (error)
  		return error;
  	DQUOT_INIT(dir);
-@@ -1557,7 +1569,7 @@ int may_open(struct nameidata *nd, int a
+@@ -1680,7 +1692,7 @@ int may_open(struct nameidata *nd, int a
  		if (!error) {
  			DQUOT_INIT(inode);
  
@@ -812,7 +812,7 @@
  					    ATTR_MTIME|ATTR_CTIME|ATTR_OPEN,
  					    NULL);
  		}
-@@ -1924,7 +1936,8 @@ fail:
+@@ -2111,7 +2123,8 @@ fail:
  }
  EXPORT_SYMBOL_GPL(lookup_create);
  
@@ -822,7 +822,7 @@
  {
  	int error = may_create(dir, dentry);
  
-@@ -1941,7 +1954,7 @@ int vfs_mknod(struct inode *dir, struct 
+@@ -2136,7 +2149,7 @@ okay:
  	if (error)
  		return error;
  
@@ -831,7 +831,7 @@
  	if (error)
  		return error;
  
-@@ -2002,11 +2015,12 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
+@@ -2208,11 +2221,12 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
  			error = vfs_create(nd.path.dentry->d_inode,dentry,mode,&nd);
  			break;
  		case S_IFCHR: case S_IFBLK:
@@ -847,7 +847,7 @@
  			break;
  	}
  	mnt_drop_write(nd.path.mnt);
-@@ -2025,7 +2039,8 @@ SYSCALL_DEFINE3(mknod, const char __user
+@@ -2234,7 +2248,8 @@ SYSCALL_DEFINE3(mknod, const char __user
  	return sys_mknodat(AT_FDCWD, filename, mode, dev);
  }
  
@@ -857,7 +857,7 @@
  {
  	int error = may_create(dir, dentry);
  
-@@ -2036,7 +2051,7 @@ int vfs_mkdir(struct inode *dir, struct 
+@@ -2245,7 +2260,7 @@ int vfs_mkdir(struct inode *dir, struct 
  		return -EPERM;
  
  	mode &= (S_IRWXUGO|S_ISVTX);
@@ -866,7 +866,7 @@
  	if (error)
  		return error;
  
-@@ -2068,7 +2083,7 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
+@@ -2282,7 +2297,7 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
  	error = mnt_want_write(nd.path.mnt);
  	if (error)
  		goto out_dput;
@@ -875,7 +875,7 @@
  	mnt_drop_write(nd.path.mnt);
  
  	if (!error)
-@@ -2112,7 +2127,7 @@ void dentry_unhash(struct dentry *dentry
+@@ -2330,7 +2345,7 @@ void dentry_unhash(struct dentry *dentry
  	spin_unlock(&dcache_lock);
  }
  
@@ -884,7 +884,7 @@
  {
  	int error = may_delete(dir, dentry, 1);
  
-@@ -2122,6 +2137,10 @@ int vfs_rmdir(struct inode *dir, struct 
+@@ -2340,6 +2355,10 @@ int vfs_rmdir(struct inode *dir, struct 
  	if (!dir->i_op || !dir->i_op->rmdir)
  		return -EPERM;
  
@@ -895,7 +895,7 @@
  	DQUOT_INIT(dir);
  
  	mutex_lock(&dentry->d_inode->i_mutex);
-@@ -2129,12 +2148,9 @@ int vfs_rmdir(struct inode *dir, struct 
+@@ -2347,12 +2366,9 @@ int vfs_rmdir(struct inode *dir, struct 
  	if (d_mountpoint(dentry))
  		error = -EBUSY;
  	else {
@@ -911,7 +911,7 @@
  	}
  	mutex_unlock(&dentry->d_inode->i_mutex);
  	if (!error) {
-@@ -2178,7 +2194,7 @@ static long do_rmdir(int dfd, const char
+@@ -2411,7 +2427,7 @@ static long do_rmdir(int dfd, const char
  	error = mnt_want_write(nd.path.mnt);
  	if (error)
  		goto exit3;
@@ -920,7 +920,7 @@
  	mnt_drop_write(nd.path.mnt);
  	if (!error && (saved_dev || saved_ino))
  		gr_handle_delete(saved_ino, saved_dev);
-@@ -2195,7 +2211,7 @@ SYSCALL_DEFINE1(rmdir, const char __user
+@@ -2430,7 +2446,7 @@ SYSCALL_DEFINE1(rmdir, const char __user
  	return do_rmdir(AT_FDCWD, pathname);
  }
  
@@ -929,7 +929,7 @@
  {
  	int error = may_delete(dir, dentry, 0);
  
-@@ -2211,7 +2227,7 @@ int vfs_unlink(struct inode *dir, struct
+@@ -2448,7 +2464,7 @@ int vfs_unlink(struct inode *dir, struct
  	if (d_mountpoint(dentry))
  		error = -EBUSY;
  	else {
@@ -938,7 +938,7 @@
  		if (!error)
  			error = dir->i_op->unlink(dir, dentry);
  	}
-@@ -2263,7 +2279,7 @@ static long do_unlinkat(int dfd, const c
+@@ -2513,7 +2529,7 @@ static long do_unlinkat(int dfd, const c
  		error = mnt_want_write(nd.path.mnt);
  		if (error)
  			goto exit2;
@@ -947,7 +947,7 @@
  		if (!error && (saved_ino || saved_dev))
  			gr_handle_delete(saved_ino, saved_dev);
  		mnt_drop_write(nd.path.mnt);
-@@ -2298,7 +2314,8 @@ SYSCALL_DEFINE1(unlink, const char __use
+@@ -2550,7 +2566,8 @@ SYSCALL_DEFINE1(unlink, const char __use
  	return do_unlinkat(AT_FDCWD, pathname);
  }
  
@@ -957,7 +957,7 @@
  {
  	int error = may_create(dir, dentry);
  
-@@ -2308,7 +2325,7 @@ int vfs_symlink(struct inode *dir, struc
+@@ -2560,7 +2577,7 @@ int vfs_symlink(struct inode *dir, struc
  	if (!dir->i_op || !dir->i_op->symlink)
  		return -EPERM;
  
@@ -966,7 +966,7 @@
  	if (error)
  		return error;
  
-@@ -2344,7 +2361,7 @@ SYSCALL_DEFINE3(symlinkat, const char __
+@@ -2601,7 +2618,7 @@ SYSCALL_DEFINE3(symlinkat, const char __
  	error = mnt_want_write(nd.path.mnt);
  	if (error)
  		goto out_dput;
@@ -975,7 +975,7 @@
  	if (!error)
  		gr_handle_create(dentry, nd.path.mnt);
  	mnt_drop_write(nd.path.mnt);
-@@ -2362,7 +2379,7 @@ SYSCALL_DEFINE2(symlink, const char __us
+@@ -2621,7 +2638,7 @@ SYSCALL_DEFINE2(symlink, const char __us
  	return sys_symlinkat(oldname, AT_FDCWD, newname);
  }
  
@@ -984,7 +984,7 @@
  {
  	struct inode *inode = old_dentry->d_inode;
  	int error;
-@@ -2387,7 +2404,8 @@ int vfs_link(struct dentry *old_dentry, 
+@@ -2646,7 +2663,8 @@ int vfs_link(struct dentry *old_dentry, 
  	if (S_ISDIR(inode->i_mode))
  		return -EPERM;
  
@@ -994,7 +994,7 @@
  	if (error)
  		return error;
  
-@@ -2440,7 +2458,9 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
+@@ -2713,7 +2731,9 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
  	error = mnt_want_write(nd.path.mnt);
  	if (error)
  		goto out_dput;
@@ -1005,7 +1005,7 @@
  	if (!error)
  		gr_handle_create(new_dentry, nd.path.mnt);
  	mnt_drop_write(nd.path.mnt);
-@@ -2493,7 +2513,8 @@ SYSCALL_DEFINE2(link, const char __user 
+@@ -2768,7 +2788,8 @@ SYSCALL_DEFINE2(link, const char __user 
   *	   locking].
   */
  static int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry,
@@ -1015,7 +1015,7 @@
  {
  	int error = 0;
  	struct inode *target;
-@@ -2508,7 +2529,8 @@ static int vfs_rename_dir(struct inode *
+@@ -2783,7 +2804,8 @@ static int vfs_rename_dir(struct inode *
  			return error;
  	}
  
@@ -1025,7 +1025,7 @@
  	if (error)
  		return error;
  
-@@ -2536,12 +2558,14 @@ static int vfs_rename_dir(struct inode *
+@@ -2811,12 +2833,14 @@ static int vfs_rename_dir(struct inode *
  }
  
  static int vfs_rename_other(struct inode *old_dir, struct dentry *old_dentry,
@@ -1042,7 +1042,7 @@
  	if (error)
  		return error;
  
-@@ -2564,7 +2588,8 @@ static int vfs_rename_other(struct inode
+@@ -2839,7 +2863,8 @@ static int vfs_rename_other(struct inode
  }
  
  int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
@@ -1052,21 +1052,19 @@
  {
  	int error;
  	int is_dir = S_ISDIR(old_dentry->d_inode->i_mode);
-@@ -2593,9 +2618,11 @@ int vfs_rename(struct inode *old_dir, st
+@@ -2868,9 +2893,9 @@ int vfs_rename(struct inode *old_dir, st
  	old_name = fsnotify_oldname_init(old_dentry->d_name.name);
  
  	if (is_dir)
 -		error = vfs_rename_dir(old_dir,old_dentry,new_dir,new_dentry);
-+		error = vfs_rename_dir(old_dir, old_dentry, old_mnt,
-+				       new_dir, new_dentry, new_mnt);
++		error = vfs_rename_dir(old_dir,old_dentry,old_mnt,new_dir,new_dentry,new_mnt);
  	else
 -		error = vfs_rename_other(old_dir,old_dentry,new_dir,new_dentry);
-+		error = vfs_rename_other(old_dir, old_dentry, old_mnt,
-+					 new_dir, new_dentry, new_mnt);
- 
++		error = vfs_rename_other(old_dir,old_dentry,old_mnt,new_dir,new_dentry,new_mnt);
  	if (!error) {
  		const char *new_name = old_dentry->d_name.name;
-@@ -2676,8 +2703,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
+ 		fsnotify_move(old_dir, new_dir, old_name, new_name, is_dir,
+@@ -2957,8 +2982,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
  	error = mnt_want_write(oldnd.path.mnt);
  	if (error)
  		goto exit5;
@@ -1077,7 +1075,7 @@
  	if (!error)
  		gr_handle_rename(old_dir->d_inode, new_dir->d_inode, old_dentry,
  				 new_dentry, oldnd.path.mnt, new_dentry->d_inode ? 1 : 0);
-@@ -2851,6 +2878,7 @@ EXPORT_SYMBOL(path_lookup);
+@@ -3348,6 +3373,7 @@ EXPORT_SYMBOL(path_lookup);
  EXPORT_SYMBOL(kern_path);
  EXPORT_SYMBOL(vfs_path_lookup);
  EXPORT_SYMBOL(inode_permission);

================================================================
Index: SOURCES/linux-2.6-grsec_full.patch
diff -u SOURCES/linux-2.6-grsec_full.patch:1.1.2.55.4.1 SOURCES/linux-2.6-grsec_full.patch:1.1.2.55.4.2
--- SOURCES/linux-2.6-grsec_full.patch:1.1.2.55.4.1	Wed Apr  1 17:47:31 2009
+++ SOURCES/linux-2.6-grsec_full.patch	Mon Apr  6 09:54:17 2009
@@ -1,6 +1,6 @@
-diff -urNp linux-2.6.28/arch/alpha/include/asm/elf.h linux-2.6.28/arch/alpha/include/asm/elf.h
---- linux-2.6.28/arch/alpha/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/include/asm/elf.h linux-2.6.28.8/arch/alpha/include/asm/elf.h
+--- linux-2.6.28.8/arch/alpha/include/asm/elf.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/include/asm/elf.h	2009-02-21 09:37:48.000000000 -0500
 @@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
  
  #define ELF_ET_DYN_BASE		(TASK_UNMAPPED_BASE + 0x1000000)
@@ -15,9 +15,9 @@
  /* $0 is set by ld.so to a pointer to a function which might be 
     registered using atexit.  This provides a mean for the dynamic
     linker to call DT_FINI functions for shared libraries that have
-diff -urNp linux-2.6.28/arch/alpha/include/asm/kmap_types.h linux-2.6.28/arch/alpha/include/asm/kmap_types.h
---- linux-2.6.28/arch/alpha/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/include/asm/kmap_types.h linux-2.6.28.8/arch/alpha/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/alpha/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -24,7 +24,8 @@ D(9)	KM_IRQ0,
  D(10)	KM_IRQ1,
  D(11)	KM_SOFTIRQ0,
@@ -28,9 +28,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/alpha/include/asm/pgtable.h linux-2.6.28/arch/alpha/include/asm/pgtable.h
---- linux-2.6.28/arch/alpha/include/asm/pgtable.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/pgtable.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/include/asm/pgtable.h linux-2.6.28.8/arch/alpha/include/asm/pgtable.h
+--- linux-2.6.28.8/arch/alpha/include/asm/pgtable.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/include/asm/pgtable.h	2009-02-21 09:37:48.000000000 -0500
 @@ -101,6 +101,17 @@ struct vm_area_struct;
  #define PAGE_SHARED	__pgprot(_PAGE_VALID | __ACCESS_BITS)
  #define PAGE_COPY	__pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW)
@@ -49,9 +49,9 @@
  #define PAGE_KERNEL	__pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAGE_KWE)
  
  #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
-diff -urNp linux-2.6.28/arch/alpha/kernel/module.c linux-2.6.28/arch/alpha/kernel/module.c
---- linux-2.6.28/arch/alpha/kernel/module.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/module.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/kernel/module.c linux-2.6.28.8/arch/alpha/kernel/module.c
+--- linux-2.6.28.8/arch/alpha/kernel/module.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/kernel/module.c	2009-02-21 09:37:48.000000000 -0500
 @@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
  	/* The small sections were sorted to the end of the segment.
@@ -61,9 +61,9 @@
  	got = sechdrs[me->arch.gotsecindex].sh_addr;
  
  	for (i = 0; i < n; i++) {
-diff -urNp linux-2.6.28/arch/alpha/kernel/osf_sys.c linux-2.6.28/arch/alpha/kernel/osf_sys.c
---- linux-2.6.28/arch/alpha/kernel/osf_sys.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/osf_sys.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/kernel/osf_sys.c linux-2.6.28.8/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.28.8/arch/alpha/kernel/osf_sys.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/kernel/osf_sys.c	2009-02-21 09:37:48.000000000 -0500
 @@ -1230,6 +1230,10 @@ arch_get_unmapped_area(struct file *filp
  	   merely specific addresses, but regions of memory -- perhaps
  	   this feature should be incorporated into all ports?  */
@@ -86,18 +86,10 @@
  	if (addr != (unsigned long) -ENOMEM)
  		return addr;
  
-diff -urNp linux-2.6.28/arch/alpha/kernel/ptrace.c linux-2.6.28/arch/alpha/kernel/ptrace.c
---- linux-2.6.28/arch/alpha/kernel/ptrace.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/ptrace.c	2009-01-11 05:46:58.000000000 -0500
-@@ -15,6 +15,7 @@
- #include <linux/security.h>
- #include <linux/signal.h>
- #include <linux/vs_base.h>
-+#include <linux/grsecurity.h>
- 
- #include <asm/uaccess.h>
- #include <asm/pgtable.h>
-@@ -266,6 +267,9 @@ long arch_ptrace(struct task_struct *chi
+diff -urNp linux-2.6.28.8/arch/alpha/kernel/ptrace.c linux-2.6.28.8/arch/alpha/kernel/ptrace.c
+--- linux-2.6.28.8/arch/alpha/kernel/ptrace.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/kernel/ptrace.c	2009-02-21 09:37:48.000000000 -0500
+@@ -266,6 +266,9 @@ long arch_ptrace(struct task_struct *chi
  	size_t copied;
  	long ret;
  
@@ -107,9 +99,9 @@
  	switch (request) {
  	/* When I and D space are separate, these will need to be fixed.  */
  	case PTRACE_PEEKTEXT: /* read word at location addr. */
-diff -urNp linux-2.6.28/arch/alpha/mm/fault.c linux-2.6.28/arch/alpha/mm/fault.c
---- linux-2.6.28/arch/alpha/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/alpha/mm/fault.c linux-2.6.28.8/arch/alpha/mm/fault.c
+--- linux-2.6.28.8/arch/alpha/mm/fault.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/alpha/mm/fault.c	2009-02-21 09:37:48.000000000 -0500
 @@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
  	__reload_thread(pcb);
  }
@@ -266,9 +258,9 @@
  	} else if (!cause) {
  		/* Allow reads even for write-only mappings */
  		if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urNp linux-2.6.28/arch/arm/include/asm/elf.h linux-2.6.28/arch/arm/include/asm/elf.h
---- linux-2.6.28/arch/arm/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/arm/include/asm/elf.h linux-2.6.28.8/arch/arm/include/asm/elf.h
+--- linux-2.6.28.8/arch/arm/include/asm/elf.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/arm/include/asm/elf.h	2009-02-21 09:37:48.000000000 -0500
 @@ -99,7 +99,14 @@ extern int arm_elf_read_implies_exec(con
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
@@ -285,9 +277,9 @@
  
  /* When the program starts, a1 contains a pointer to a function to be 
     registered with atexit, as per the SVR4 ABI.  A value of 0 means we 
-diff -urNp linux-2.6.28/arch/arm/include/asm/kmap_types.h linux-2.6.28/arch/arm/include/asm/kmap_types.h
---- linux-2.6.28/arch/arm/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/arm/include/asm/kmap_types.h linux-2.6.28.8/arch/arm/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/arm/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/arm/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -18,6 +18,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -296,9 +288,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/arm/mm/mmap.c linux-2.6.28/arch/arm/mm/mmap.c
---- linux-2.6.28/arch/arm/mm/mmap.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/mm/mmap.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/arm/mm/mmap.c linux-2.6.28.8/arch/arm/mm/mmap.c
+--- linux-2.6.28.8/arch/arm/mm/mmap.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/arm/mm/mmap.c	2009-02-21 09:37:48.000000000 -0500
 @@ -62,6 +62,10 @@ arch_get_unmapped_area(struct file *filp
  	if (len > TASK_SIZE)
  		return -ENOMEM;
@@ -335,9 +327,9 @@
  				mm->cached_hole_size = 0;
  				goto full_search;
  			}
-diff -urNp linux-2.6.28/arch/avr32/include/asm/elf.h linux-2.6.28/arch/avr32/include/asm/elf.h
---- linux-2.6.28/arch/avr32/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/avr32/include/asm/elf.h linux-2.6.28.8/arch/avr32/include/asm/elf.h
+--- linux-2.6.28.8/arch/avr32/include/asm/elf.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/avr32/include/asm/elf.h	2009-02-21 09:37:48.000000000 -0500
 @@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
@@ -354,9 +346,9 @@
  
  /* This yields a mask that user programs can use to figure out what
     instruction set this CPU supports.  This could be done in user space,
-diff -urNp linux-2.6.28/arch/avr32/include/asm/kmap_types.h linux-2.6.28/arch/avr32/include/asm/kmap_types.h
---- linux-2.6.28/arch/avr32/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/avr32/include/asm/kmap_types.h linux-2.6.28.8/arch/avr32/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/avr32/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/avr32/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -22,7 +22,8 @@ D(10)	KM_IRQ0,
  D(11)	KM_IRQ1,
  D(12)	KM_SOFTIRQ0,
@@ -367,9 +359,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/avr32/mm/fault.c linux-2.6.28/arch/avr32/mm/fault.c
---- linux-2.6.28/arch/avr32/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/avr32/mm/fault.c linux-2.6.28.8/arch/avr32/mm/fault.c
+--- linux-2.6.28.8/arch/avr32/mm/fault.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/avr32/mm/fault.c	2009-02-21 09:37:48.000000000 -0500
 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
  
  int exception_trace = 1;
@@ -411,9 +403,9 @@
  		if (exception_trace && printk_ratelimit())
  			printk("%s%s[%d]: segfault at %08lx pc %08lx "
  			       "sp %08lx ecr %lu\n",
-diff -urNp linux-2.6.28/arch/blackfin/include/asm/kmap_types.h linux-2.6.28/arch/blackfin/include/asm/kmap_types.h
---- linux-2.6.28/arch/blackfin/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/blackfin/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/blackfin/include/asm/kmap_types.h linux-2.6.28.8/arch/blackfin/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/blackfin/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/blackfin/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -15,6 +15,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -422,9 +414,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/cris/include/asm/kmap_types.h linux-2.6.28/arch/cris/include/asm/kmap_types.h
---- linux-2.6.28/arch/cris/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/cris/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/cris/include/asm/kmap_types.h linux-2.6.28.8/arch/cris/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/cris/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/cris/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -19,6 +19,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -433,9 +425,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/h8300/include/asm/kmap_types.h linux-2.6.28/arch/h8300/include/asm/kmap_types.h
---- linux-2.6.28/arch/h8300/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/h8300/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/h8300/include/asm/kmap_types.h linux-2.6.28.8/arch/h8300/include/asm/kmap_types.h
+--- linux-2.6.28.8/arch/h8300/include/asm/kmap_types.h	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/h8300/include/asm/kmap_types.h	2009-02-21 09:37:48.000000000 -0500
 @@ -15,6 +15,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -444,9 +436,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c
---- linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.28.8/arch/ia64/ia32/binfmt_elf32.c linux-2.6.28.8/arch/ia64/ia32/binfmt_elf32.c
+--- linux-2.6.28.8/arch/ia64/ia32/binfmt_elf32.c	2009-02-06 16:47:45.000000000 -0500
++++ linux-2.6.28.8/arch/ia64/ia32/binfmt_elf32.c	2009-02-21 09:37:48.000000000 -0500
 @@ -45,6 +45,13 @@ randomize_stack_top(unsigned long stack_
  
  #define elf_read_implies_exec(ex, have_pt_gnu_stack)	(!(have_pt_gnu_stack))
@@ -461,9 +453,9 @@
  /* Ugly but avoids duplication */
  #include "../../../fs/binfmt_elf.c"
  
-diff -urNp linux-2.6.28/arch/ia64/ia32/ia32priv.h linux-2.6.28/arch/ia64/ia32/ia32priv.h
---- linux-2.6.28/arch/ia64/ia32/ia32priv.h	2008-12-24 18:26:37.000000000 -0500
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-apparmor-after-grsec_full.patch?r1=1.1.2.9&r2=1.1.2.9.2.1&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-grsec_full.patch?r1=1.1.2.55.4.1&r2=1.1.2.55.4.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-grsec-common.patch?r1=1.1.2.2.2.10&r2=1.1.2.2.2.10.4.1&f=u



More information about the pld-cvs-commit mailing list