commit:     15973b6b4b83a139a7e52dc29e44eadc4da27ac8
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 16 21:33:12 2015 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Tue Jun 16 21:33:12 2015 +0000
URL:        https://gitweb.gentoo.org/proj/releng.git/commit/?id=15973b6b

tools-hardened/desktop: loop-AES-kernel.patch - Updates patch to newest version

 .../desktop/configs/loop-AES-kernel.patch          | 245 ++++++---------------
 1 file changed, 71 insertions(+), 174 deletions(-)

diff --git a/tools-hardened/desktop/configs/loop-AES-kernel.patch 
b/tools-hardened/desktop/configs/loop-AES-kernel.patch
index 76596b1..b2d7a80 100644
--- a/tools-hardened/desktop/configs/loop-AES-kernel.patch
+++ b/tools-hardened/desktop/configs/loop-AES-kernel.patch
@@ -3,9 +3,9 @@ include/linux/loop.h source files must be removed:
 
     rm -f drivers/block/loop.c include/linux/loop.h
 
-diff -urN linux-3.19-noloop/drivers/block/Kconfig 
linux-3.19-AES/drivers/block/Kconfig
---- linux-3.19-noloop/drivers/block/Kconfig    2015-02-09 04:54:22.000000000 
+0200
-+++ linux-3.19-AES/drivers/block/Kconfig       2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/block/Kconfig 
linux-4.0-AES/drivers/block/Kconfig
+--- linux-4.0-noloop/drivers/block/Kconfig     2015-04-13 01:12:50.000000000 
+0300
++++ linux-4.0-AES/drivers/block/Kconfig        2015-05-03 18:22:44.000000000 
+0300
 @@ -235,14 +235,6 @@
          bits of, say, a sound file). This is also safe if the file resides
          on a remote file server.
@@ -88,10 +88,10 @@ diff -urN linux-3.19-noloop/drivers/block/Kconfig 
linux-3.19-AES/drivers/block/K
  
  source "drivers/block/drbd/Kconfig"
  
-diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/loop.c
---- linux-3.19-noloop/drivers/block/loop.c     1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/block/loop.c        2015-02-09 20:49:52.000000000 
+0200
-@@ -0,0 +1,3279 @@
+diff -urN linux-4.0-noloop/drivers/block/loop.c 
linux-4.0-AES/drivers/block/loop.c
+--- linux-4.0-noloop/drivers/block/loop.c      1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/block/loop.c 2015-05-03 18:22:44.000000000 +0300
+@@ -0,0 +1,3175 @@
 +/*
 + *  linux/drivers/block/loop.c
 + *
@@ -1460,20 +1460,12 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      int                     bioext_index;
 +      int                     bioext_size;
 +      unsigned int            bioext_bi_max_vecs_orig;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +      unsigned int            bioext_done_offset;
-+#endif
 +};    
 +
-+#if LINUX_VERSION_CODE >= 0x30e00
-+# define LOOP_COMPAT_BI_SECTOR  bi_iter.bi_sector
-+# define LOOP_COMPAT_BI_SIZE    bi_iter.bi_size
-+# define LOOP_COMPAT_BI_IDX     bi_iter.bi_idx
-+#else
-+# define LOOP_COMPAT_BI_SECTOR  bi_sector
-+# define LOOP_COMPAT_BI_SIZE    bi_size
-+# define LOOP_COMPAT_BI_IDX     bi_idx
-+#endif
++#define LOOP_COMPAT_BI_SECTOR  bi_iter.bi_sector
++#define LOOP_COMPAT_BI_SIZE    bi_iter.bi_size
++#define LOOP_COMPAT_BI_IDX     bi_iter.bi_idx
 +
 +static struct loop_device **loop_dev_ptr_arr;
 +
@@ -1684,7 +1676,6 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              merge->LOOP_COMPAT_BI_SIZE = 0; /* used as error code */
 +              set_bit(0, &merge->bi_flags);
 +              merge->LOOP_COMPAT_BI_IDX = orig_bio->LOOP_COMPAT_BI_IDX;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              nzCnt = 1;
 +              if(origHasData) {
 +                      /* compute total number of vecs that this driver must 
process */
@@ -1702,10 +1693,6 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +                              orDon = 0;
 +                      } while(1);
 +              }
-+#else
-+              nzCnt = orig_bio->bi_vcnt - orig_bio->LOOP_COMPAT_BI_IDX;
-+              if(nzCnt < 1) nzCnt = 1;
-+#endif
 +              atomic_set(&merge->bi_cnt, nzCnt);
 +              merge->bi_private = orig_bio;
 +      }
@@ -1716,11 +1703,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      extension = bio->bi_private;
 +      if(origHasData) {
 +              firstVec = (merge->LOOP_COMPAT_BI_IDX == 
orig_bio->LOOP_COMPAT_BI_IDX) ? 1 : 0;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              lastVec = (orig_bio->LOOP_COMPAT_BI_SIZE <= 
(orig_bio->bi_io_vec[merge->LOOP_COMPAT_BI_IDX].bv_len - 
orig_bio->bi_iter.bi_bvec_done)) ? 1 : 0;
-+#else
-+              lastVec = (merge->LOOP_COMPAT_BI_IDX == (orig_bio->bi_vcnt - 
1)) ? 1 : 0;
-+#endif
 +      } else {
 +              firstVec = 1;
 +              lastVec = 1;
@@ -1730,26 +1713,12 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      /*
 +       * initialize one page "buffer-bio"
 +       */
-+#if LINUX_VERSION_CODE >= 0x30700
 +      bio_reset(bio);
 +      bio->bi_private = extension;
-+#else
-+#if !defined(BIO_RESET_BITS)
-+# define BIO_RESET_BITS BIO_POOL_OFFSET
-+#endif
-+      bio->bi_flags &= (~0UL << BIO_RESET_BITS);
-+      bio->bi_flags |= (1 << BIO_UPTODATE);
-+#endif
 +      bio->LOOP_COMPAT_BI_SECTOR = merge->LOOP_COMPAT_BI_SECTOR;
 +      bio->bi_next = NULL;
 +      bio->bi_bdev = lo->lo_device;
 +
-+#if LINUX_VERSION_CODE < 0x30200
-+      if(orig_bio->bi_flags & (1 << BIO_CPU_AFFINE)) {
-+              bio->bi_comp_cpu = orig_bio->bi_comp_cpu;
-+              bio->bi_flags |= (1 << BIO_CPU_AFFINE);
-+      }
-+#endif
 +      /* read-ahead bit needs to be cleared to work around kernel bug */
 +      /* that causes I/O errors on -EWOULDBLOCK I/O elevator failures */
 +      bio->bi_rw = orig_bio->bi_rw & ~L_BIO_RW_AHEAD;
@@ -1791,15 +1760,11 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              bio->bi_io_vec = extension->bioext_bi_io_vec_orig;
 +              bio->bi_max_vecs = extension->bioext_bi_max_vecs_orig;
 +              bio->bi_vcnt = 1;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              len = orig_bio->bi_io_vec[merge->LOOP_COMPAT_BI_IDX].bv_len - 
orig_bio->bi_iter.bi_bvec_done;
 +              if(len > orig_bio->LOOP_COMPAT_BI_SIZE)
 +                      len = orig_bio->LOOP_COMPAT_BI_SIZE;
 +              bio->LOOP_COMPAT_BI_SIZE = len;
 +              extension->bioext_done_offset = orig_bio->bi_iter.bi_bvec_done;
-+#else
-+              bio->LOOP_COMPAT_BI_SIZE = len = 
orig_bio->bi_io_vec[merge->LOOP_COMPAT_BI_IDX].bv_len;
-+#endif
 +              bio->bi_io_vec[0].bv_len = len;
 +              bio->bi_io_vec[0].bv_offset = 0;
 +      } else {
@@ -1807,9 +1772,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              bio->bi_io_vec = 0;
 +              bio->bi_max_vecs = 0;
 +              bio->bi_vcnt = 0;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              extension->bioext_done_offset = 0;
-+#endif
 +              bio->LOOP_COMPAT_BI_SIZE = len = 0;
 +      }
 +
@@ -1833,11 +1796,9 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      merge->LOOP_COMPAT_BI_SECTOR += len >> 9;
 +      merge->LOOP_COMPAT_BI_IDX++;
 +
-+#if LINUX_VERSION_CODE >= 0x30e00
 +      orig_bio->LOOP_COMPAT_BI_SIZE -= len;
 +      orig_bio->bi_iter.bi_bvec_done = 0;
 +      bio->bi_iter.bi_bvec_done = 0;
-+#endif
 +      return bio;
 +}
 +
@@ -1903,10 +1864,18 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              fs = get_fs();
 +              set_fs(get_ds());
 +              if (w) {
++#if LINUX_VERSION_CODE >= 0x40100
++                      x = __vfs_write(file, buf + y, z, ppos);
++#else
 +                      x = file->f_op->write(file, buf + y, z, ppos);
++#endif
 +                      set_fs(fs);
 +              } else {
++#if LINUX_VERSION_CODE >= 0x40100
++                      x = __vfs_read(file, buf + y, z, ppos);
++#else
 +                      x = file->f_op->read(file, buf + y, z, ppos);
++#endif
 +                      set_fs(fs);
 +                      if (!x)
 +                              return 1;
@@ -1932,9 +1901,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      unsigned int size, len, more;
 +      sector_t IV;
 +      struct page *pg;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +      unsigned int oln;
-+#endif
 +
 +      if(!bio_has_data(bio))
 +              return 0;
@@ -1946,17 +1913,12 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              IV += lo->lo_offs_sec;
 +      do {
 +              pg = bio->bi_io_vec[bio->LOOP_COMPAT_BI_IDX].bv_page;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              len = bio->bi_io_vec[bio->LOOP_COMPAT_BI_IDX].bv_len - 
bio->bi_iter.bi_bvec_done;
 +              if(len > bio->LOOP_COMPAT_BI_SIZE)
 +                      len = bio->LOOP_COMPAT_BI_SIZE;
 +              oln = len;
 +              data = kmap(pg) + 
bio->bi_io_vec[bio->LOOP_COMPAT_BI_IDX].bv_offset + bio->bi_iter.bi_bvec_done;
 +              bio->bi_iter.bi_bvec_done = 0;
-+#else
-+              len = bio->bi_io_vec[bio->LOOP_COMPAT_BI_IDX].bv_len;
-+              data = kmap(pg) + 
bio->bi_io_vec[bio->LOOP_COMPAT_BI_IDX].bv_offset;
-+#endif
 +              while (len > 0) {
 +                      if (!lo->lo_encryption) {
 +                              /* this code relies that NONE transfer is a 
no-op */
@@ -1991,11 +1953,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              }
 +              kunmap(pg);
 +              bio->LOOP_COMPAT_BI_IDX++;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              more = ((bio->LOOP_COMPAT_BI_SIZE -= oln) > 0) ? 1 : 0;
-+#else
-+              more = (bio->LOOP_COMPAT_BI_IDX < bio->bi_vcnt) ? 1 : 0;
-+#endif
 +      } while (more);
 +      return 0;
 +
@@ -2018,26 +1976,14 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      }
 +}
 +
-+#if LINUX_VERSION_CODE >= 0x30200
 +static void loop_make_request_err(struct request_queue *q, struct bio 
*old_bio)
-+#else
-+static int loop_make_request_err(struct request_queue *q, struct bio *old_bio)
-+#endif
 +{
 +      old_bio->bi_next = NULL;
 +      bio_io_error(old_bio);
-+#if LINUX_VERSION_CODE >= 0x30200
 +      return;
-+#else
-+      return 0;
-+#endif
 +}
 +
-+#if LINUX_VERSION_CODE >= 0x30200
 +static void loop_make_request_real(struct request_queue *q, struct bio 
*old_bio)
-+#else
-+static int loop_make_request_real(struct request_queue *q, struct bio 
*old_bio)
-+#endif
 +{
 +      struct bio *new_bio, *merge;
 +      struct loop_device *lo = q->queuedata;
@@ -2059,11 +2005,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +       */
 +      if (lo->lo_flags & LO_FLAGS_DO_BMAP) {
 +              loop_add_queue_last(lo, old_bio, &lo->lo_bio_que0);
-+#if LINUX_VERSION_CODE >= 0x30200
 +              return;
-+#else
-+              return 0;
-+#endif
 +      }
 +
 +      /*
@@ -2075,11 +2017,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              generic_make_request(old_bio);
 +              if (atomic_dec_and_test(&lo->lo_pending))
 +                      wake_up_interruptible_all(&lo->lo_bio_wait);
-+#if LINUX_VERSION_CODE >= 0x30200
 +              return;
-+#else
-+              return 0;
-+#endif
 +      }
 +
 +      /*
@@ -2120,11 +2058,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      if ((rw == WRITE) && origHasData) {
 +              extension = new_bio->bi_private;
 +              y = extension->bioext_index;
-+#if LINUX_VERSION_CODE >= 0x30e00
 +              md = kmap(old_bio->bi_io_vec[y].bv_page) + 
old_bio->bi_io_vec[y].bv_offset + extension->bioext_done_offset;
-+#else
-+              md = kmap(old_bio->bi_io_vec[y].bv_page) + 
old_bio->bi_io_vec[y].bv_offset;
-+#endif
 +              if (lo_do_transfer(lo, WRITE, 
page_address(new_bio->bi_io_vec[0].bv_page), md, extension->bioext_size, 
extension->bioext_iv)) {
 +                      clear_bit(0, &merge->bi_flags);
 +              }
@@ -2155,20 +2089,12 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      /* other vecs may need processing too */
 +      if (!lastVec)
 +              goto try_next_old_bio_vec;
-+#if LINUX_VERSION_CODE >= 0x30200
 +      return;
-+#else
-+      return 0;
-+#endif
 +
 +out:
 +      old_bio->bi_next = NULL;
 +      bio_io_error(old_bio);
-+#if LINUX_VERSION_CODE >= 0x30200
 +      return;
-+#else
-+      return 0;
-+#endif
 +}
 +
 +struct loop_switch_request {
@@ -2299,11 +2225,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +                      y = extension->bioext_index;
 +                      xbio = merge->bi_private;
 +                      if(extension->bioext_size) {
-+#if LINUX_VERSION_CODE >= 0x30e00
 +                              md = kmap(xbio->bi_io_vec[y].bv_page) + 
xbio->bi_io_vec[y].bv_offset + extension->bioext_done_offset;
-+#else
-+                              md = kmap(xbio->bi_io_vec[y].bv_page) + 
xbio->bi_io_vec[y].bv_offset;
-+#endif
 +                              if (lo_do_transfer(lo, READ, 
page_address(bio->bi_io_vec[0].bv_page), md, extension->bioext_size, 
extension->bioext_iv)) {
 +                                      clear_bit(0, &merge->bi_flags);
 +                              }
@@ -2392,7 +2314,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +              goto out_putf;
 +
 +      /* new backing store must support reads */
-+      if (!file->f_op || !file->f_op->read)
++      if (!(file->f_mode & FMODE_CAN_READ))
 +              goto out_putf;
 +
 +      /* new backing store must be same size as the old one */
@@ -2511,11 +2433,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      lo->lo_crypt_name[0] = 0;
 +      lo->lo_file_name[0] = 0;
 +      lo->lo_init[1] = lo->lo_init[0] = 0;
-+#if LINUX_VERSION_CODE >= 0x30600
 +      lo->lo_key_owner = GLOBAL_ROOT_UID;
-+#else
-+      lo->lo_key_owner = 0;
-+#endif
 +      lo->ioctl = NULL;
 +      lo->key_data = NULL;    
 +      lo->lo_bio_que0 = NULL;
@@ -2541,10 +2459,10 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +               * If we can't read - sorry. If we only can't write - well,
 +               * it's going to be read-only.
 +               */
-+              if (!file->f_op || !file->f_op->read)
++              if (!(file->f_mode & FMODE_CAN_READ))
 +                      goto out_putf;
 +
-+              if (!file->f_op->write)
++              if (!(file->f_mode & FMODE_CAN_WRITE))
 +                      lo_flags |= LO_FLAGS_READ_ONLY;
 +
 +              lo_flags |= LO_FLAGS_DO_BMAP;
@@ -2741,11 +2659,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      lo->lo_encrypt_key_size = 0;
 +      lo->lo_flags = 0;
 +      lo->lo_init[1] = lo->lo_init[0] = 0;
-+#if LINUX_VERSION_CODE >= 0x30600
 +      lo->lo_key_owner = GLOBAL_ROOT_UID;
-+#else
-+      lo->lo_key_owner = 0;
-+#endif
 +      lo->key_data = NULL;
 +      memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE);
 +      memset(lo->lo_crypt_name, 0, LO_NAME_SIZE);
@@ -2763,17 +2677,10 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +{
 +      int err;
 +      struct loop_func_table *xfer = NULL;
-+#if LINUX_VERSION_CODE >= 0x30600
 +      kuid_t uid = current_uid();
 +
 +      if (lo->lo_encrypt_key_size && !uid_eq(lo->lo_key_owner, uid) && 
!capable(CAP_SYS_ADMIN))
 +              return -EPERM;
-+#else
-+      uid_t uid = current_uid();
-+
-+      if (lo->lo_encrypt_key_size && lo->lo_key_owner != uid && 
!capable(CAP_SYS_ADMIN))
-+              return -EPERM;
-+#endif
 +      if ((unsigned int) info->lo_encrypt_key_size > LO_KEY_SIZE)
 +              return -EINVAL;
 +
@@ -2840,11 +2747,7 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      struct kstat stat;
 +      int error;
 +
-+#if LINUX_VERSION_CODE >= 0x30900
 +      error = vfs_getattr(&file->f_path, &stat);
-+#else
-+      error = vfs_getattr(file->f_vfsmnt, file->f_path.dentry, &stat);
-+#endif
 +      if (error)
 +              return error;
 +      memset(info, 0, sizeof(*info));
@@ -3138,20 +3041,13 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +      return 0;
 +}
 +
-+#if LINUX_VERSION_CODE >= 0x30a00
 +static void lo_release(struct gendisk *disk, fmode_t mode)
-+#else
-+static int lo_release(struct gendisk *disk, fmode_t mode)
-+#endif
 +{
 +      struct loop_device *lo = disk->private_data;
 +
 +      spin_lock(&lo->lo_ioctl_spin);
 +      lo->lo_refcnt--;
 +      spin_unlock(&lo->lo_ioctl_spin);
-+#if LINUX_VERSION_CODE < 0x30a00
-+      return 0;
-+#endif
 +}
 +
 +static struct block_device_operations lo_fops = {
@@ -3371,9 +3267,9 @@ diff -urN linux-3.19-noloop/drivers/block/loop.c 
linux-3.19-AES/drivers/block/lo
 +}
 +EXPORT_SYMBOL(loop_add_keyscrub_fn);
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/Makefile 
linux-3.19-AES/drivers/misc/Makefile
---- linux-3.19-noloop/drivers/misc/Makefile    2015-02-09 04:54:22.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/Makefile       2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/Makefile 
linux-4.0-AES/drivers/misc/Makefile
+--- linux-4.0-noloop/drivers/misc/Makefile     2015-04-13 01:12:50.000000000 
+0300
++++ linux-4.0-AES/drivers/misc/Makefile        2015-05-03 18:22:44.000000000 
+0300
 @@ -2,6 +2,33 @@
  # Makefile for misc devices that really don't fit anywhere else.
  #
@@ -3408,9 +3304,9 @@ diff -urN linux-3.19-noloop/drivers/misc/Makefile 
linux-3.19-AES/drivers/misc/Ma
  obj-$(CONFIG_IBM_ASM)         += ibmasm/
  obj-$(CONFIG_AD525X_DPOT)     += ad525x_dpot.o
  obj-$(CONFIG_AD525X_DPOT_I2C) += ad525x_dpot-i2c.o
-diff -urN linux-3.19-noloop/drivers/misc/aes-amd64.S 
linux-3.19-AES/drivers/misc/aes-amd64.S
---- linux-3.19-noloop/drivers/misc/aes-amd64.S 1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/aes-amd64.S    2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/aes-amd64.S 
linux-4.0-AES/drivers/misc/aes-amd64.S
+--- linux-4.0-noloop/drivers/misc/aes-amd64.S  1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/aes-amd64.S     2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,897 @@
 +//
 +// Copyright (c) 2001, Dr Brian Gladman <[email protected]>, Worcester, UK.
@@ -4309,9 +4205,9 @@ diff -urN linux-3.19-noloop/drivers/misc/aes-amd64.S 
linux-3.19-AES/drivers/misc
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/aes-intel32.S 
linux-3.19-AES/drivers/misc/aes-intel32.S
---- linux-3.19-noloop/drivers/misc/aes-intel32.S       1970-01-01 
02:00:00.000000000 +0200
-+++ linux-3.19-AES/drivers/misc/aes-intel32.S  2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/aes-intel32.S 
linux-4.0-AES/drivers/misc/aes-intel32.S
+--- linux-4.0-noloop/drivers/misc/aes-intel32.S        1970-01-01 
02:00:00.000000000 +0200
++++ linux-4.0-AES/drivers/misc/aes-intel32.S   2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,655 @@
 +/*
 + * Implement AES algorithm in Intel AES-NI instructions.
@@ -4968,9 +4864,9 @@ diff -urN linux-3.19-noloop/drivers/misc/aes-intel32.S 
linux-3.19-AES/drivers/mi
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/aes-intel64.S 
linux-3.19-AES/drivers/misc/aes-intel64.S
---- linux-3.19-noloop/drivers/misc/aes-intel64.S       1970-01-01 
02:00:00.000000000 +0200
-+++ linux-3.19-AES/drivers/misc/aes-intel64.S  2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/aes-intel64.S 
linux-4.0-AES/drivers/misc/aes-intel64.S
+--- linux-4.0-noloop/drivers/misc/aes-intel64.S        1970-01-01 
02:00:00.000000000 +0200
++++ linux-4.0-AES/drivers/misc/aes-intel64.S   2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,649 @@
 +/*
 + * Implement AES algorithm in Intel AES-NI instructions.
@@ -5621,9 +5517,9 @@ diff -urN linux-3.19-noloop/drivers/misc/aes-intel64.S 
linux-3.19-AES/drivers/mi
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/aes-x86.S 
linux-3.19-AES/drivers/misc/aes-x86.S
---- linux-3.19-noloop/drivers/misc/aes-x86.S   1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/aes-x86.S      2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/aes-x86.S 
linux-4.0-AES/drivers/misc/aes-x86.S
+--- linux-4.0-noloop/drivers/misc/aes-x86.S    1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/aes-x86.S       2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,927 @@
 +//
 +// Copyright (c) 2001, Dr Brian Gladman <[email protected]>, Worcester, UK.
@@ -6552,10 +6448,10 @@ diff -urN linux-3.19-noloop/drivers/misc/aes-x86.S 
linux-3.19-AES/drivers/misc/a
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/aes.c 
linux-3.19-AES/drivers/misc/aes.c
---- linux-3.19-noloop/drivers/misc/aes.c       1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/aes.c  2015-02-09 20:49:52.000000000 +0200
-@@ -0,0 +1,1479 @@
+diff -urN linux-4.0-noloop/drivers/misc/aes.c linux-4.0-AES/drivers/misc/aes.c
+--- linux-4.0-noloop/drivers/misc/aes.c        1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/aes.c   2015-05-03 18:22:44.000000000 +0300
+@@ -0,0 +1,1480 @@
 +// I retain copyright in this code but I encourage its free use provided
 +// that I don't carry any responsibility for the results. I am especially 
 +// happy to see it used in free and open source software. If you do use 
@@ -6661,10 +6557,6 @@ diff -urN linux-3.19-noloop/drivers/misc/aes.c 
linux-3.19-AES/drivers/misc/aes.c
 +# define INTERNAL_BYTE_ORDER 1
 +# undef DATA_ALWAYS_ALIGNED
 +# define DATA_ALWAYS_ALIGNED 1  /* unaligned access is always ok */
-+#elif 
defined(__ppc__)||defined(__ppc)||defined(__PPC__)||defined(__PPC)||defined(__powerpc__)||defined(__powerpc)||defined(__POWERPC__)||defined(__POWERPC)||defined(__PowerPC__)||defined(__PowerPC)||defined(__ppc64__)||defined(__ppc64)||defined(__PPC64__)||defined(__PPC64)||defined(__powerpc64__)||defined(__powerpc64)||defined(__s390__)||defined(__s390)
-+# define INTERNAL_BYTE_ORDER 2
-+# undef DATA_ALWAYS_ALIGNED
-+# define DATA_ALWAYS_ALIGNED 1  /* unaligned access is always ok */
 +#elif defined(__alpha__)||defined(__alpha)||defined(__ia64__)||defined(__ia64)
 +# define INTERNAL_BYTE_ORDER 1
 +#elif 
defined(__hppa__)||defined(__hppa)||defined(__HPPA__)||defined(__HPPA)||defined(__parisc__)||defined(__parisc)||defined(__sparc__)||defined(__sparc)||defined(__sparc_v9__)||defined(__sparc_v9)||defined(__sparc64__)||defined(__sparc64)||defined(__mc68000__)||defined(__mc68000)
@@ -6684,15 +6576,20 @@ diff -urN linux-3.19-noloop/drivers/misc/aes.c 
linux-3.19-AES/drivers/misc/aes.c
 +# endif
 +#else
 +# include <sys/param.h>
-+# if (defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && (BYTE_ORDER == 
LITTLE_ENDIAN)) || (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && 
(__BYTE_ORDER == __LITTLE_ENDIAN))
++# if defined(__LITTLE_ENDIAN__) || (defined(__BYTE_ORDER__) && 
defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == 
__ORDER_LITTLE_ENDIAN__)) || (defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && 
(BYTE_ORDER == LITTLE_ENDIAN)) || (defined(__BYTE_ORDER) && 
defined(__LITTLE_ENDIAN) && (__BYTE_ORDER == __LITTLE_ENDIAN))
 +#  define INTERNAL_BYTE_ORDER 1
-+# elif WORDS_BIGENDIAN || defined(__BIG_ENDIAN__) || (defined(BYTE_ORDER) && 
defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || (defined(__BYTE_ORDER) && 
defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN))
++# elif WORDS_BIGENDIAN || defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) 
&& defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) 
|| (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) 
|| (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && (__BYTE_ORDER == 
__BIG_ENDIAN))
 +#  define INTERNAL_BYTE_ORDER 2
 +# else
 +#  define INTERNAL_BYTE_ORDER 0
 +# endif
 +#endif
 +
++#if 
defined(__ppc__)||defined(__ppc)||defined(__PPC__)||defined(__PPC)||defined(__powerpc__)||defined(__powerpc)||defined(__POWERPC__)||defined(__POWERPC)||defined(__PowerPC__)||defined(__PowerPC)||defined(__ppc64__)||defined(__ppc64)||defined(__PPC64__)||defined(__PPC64)||defined(__powerpc64__)||defined(__powerpc64)||defined(__s390__)||defined(__s390)
++# undef DATA_ALWAYS_ALIGNED
++# define DATA_ALWAYS_ALIGNED 1  /* unaligned access is always ok */
++#endif
++
 +#if defined(DATA_ALWAYS_ALIGNED) && (INTERNAL_BYTE_ORDER > 0)
 +# define word_in(x)      *(u_int32_t*)(x)
 +# define word_out(x,v)   *(u_int32_t*)(x) = (v)
@@ -8035,9 +7932,9 @@ diff -urN linux-3.19-noloop/drivers/misc/aes.c 
linux-3.19-AES/drivers/misc/aes.c
 +
 +    state_out(out_blk, b0);
 +}
-diff -urN linux-3.19-noloop/drivers/misc/aes.h 
linux-3.19-AES/drivers/misc/aes.h
---- linux-3.19-noloop/drivers/misc/aes.h       1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/aes.h  2015-02-09 20:49:52.000000000 +0200
+diff -urN linux-4.0-noloop/drivers/misc/aes.h linux-4.0-AES/drivers/misc/aes.h
+--- linux-4.0-noloop/drivers/misc/aes.h        1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/aes.h   2015-05-03 18:22:44.000000000 +0300
 @@ -0,0 +1,112 @@
 +// I retain copyright in this code but I encourage its free use provided
 +// that I don't carry any responsibility for the results. I am especially 
@@ -8151,9 +8048,9 @@ diff -urN linux-3.19-noloop/drivers/misc/aes.h 
linux-3.19-AES/drivers/misc/aes.h
 +// if their parameters have not changed.
 +
 +#endif  // _AES_H
-diff -urN linux-3.19-noloop/drivers/misc/crypto-ksym.c 
linux-3.19-AES/drivers/misc/crypto-ksym.c
---- linux-3.19-noloop/drivers/misc/crypto-ksym.c       1970-01-01 
02:00:00.000000000 +0200
-+++ linux-3.19-AES/drivers/misc/crypto-ksym.c  2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/crypto-ksym.c 
linux-4.0-AES/drivers/misc/crypto-ksym.c
+--- linux-4.0-noloop/drivers/misc/crypto-ksym.c        1970-01-01 
02:00:00.000000000 +0200
++++ linux-4.0-AES/drivers/misc/crypto-ksym.c   2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,18 @@
 +#include <linux/module.h>
 +#include "aes.h"
@@ -8173,9 +8070,9 @@ diff -urN linux-3.19-noloop/drivers/misc/crypto-ksym.c 
linux-3.19-AES/drivers/mi
 +EXPORT_SYMBOL(intel_aes_cbc_decrypt);
 +EXPORT_SYMBOL(intel_aes_cbc_enc_4x512);
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/md5-2x-amd64.S 
linux-3.19-AES/drivers/misc/md5-2x-amd64.S
---- linux-3.19-noloop/drivers/misc/md5-2x-amd64.S      1970-01-01 
02:00:00.000000000 +0200
-+++ linux-3.19-AES/drivers/misc/md5-2x-amd64.S 2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/md5-2x-amd64.S 
linux-4.0-AES/drivers/misc/md5-2x-amd64.S
+--- linux-4.0-noloop/drivers/misc/md5-2x-amd64.S       1970-01-01 
02:00:00.000000000 +0200
++++ linux-4.0-AES/drivers/misc/md5-2x-amd64.S  2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,223 @@
 +//
 +//  md5-2x-amd64.S
@@ -8400,9 +8297,9 @@ diff -urN linux-3.19-noloop/drivers/misc/md5-2x-amd64.S 
linux-3.19-AES/drivers/m
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/md5-amd64.S 
linux-3.19-AES/drivers/misc/md5-amd64.S
---- linux-3.19-noloop/drivers/misc/md5-amd64.S 1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/md5-amd64.S    2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/md5-amd64.S 
linux-4.0-AES/drivers/misc/md5-amd64.S
+--- linux-4.0-noloop/drivers/misc/md5-amd64.S  1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/md5-amd64.S     2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,204 @@
 +//
 +//  md5-amd64.S
@@ -8608,9 +8505,9 @@ diff -urN linux-3.19-noloop/drivers/misc/md5-amd64.S 
linux-3.19-AES/drivers/misc
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/md5-x86.S 
linux-3.19-AES/drivers/misc/md5-x86.S
---- linux-3.19-noloop/drivers/misc/md5-x86.S   1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/md5-x86.S      2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/drivers/misc/md5-x86.S 
linux-4.0-AES/drivers/misc/md5-x86.S
+--- linux-4.0-noloop/drivers/misc/md5-x86.S    1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/md5-x86.S       2015-05-03 18:22:44.000000000 
+0300
 @@ -0,0 +1,211 @@
 +//
 +//  md5-x86.S
@@ -8823,9 +8720,9 @@ diff -urN linux-3.19-noloop/drivers/misc/md5-x86.S 
linux-3.19-AES/drivers/misc/m
 +#if defined(__ELF__) && defined(SECTION_NOTE_GNU_STACK)
 +      .section .note.GNU-stack,"",@progbits
 +#endif
-diff -urN linux-3.19-noloop/drivers/misc/md5.c 
linux-3.19-AES/drivers/misc/md5.c
---- linux-3.19-noloop/drivers/misc/md5.c       1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/md5.c  2015-02-09 20:49:52.000000000 +0200
+diff -urN linux-4.0-noloop/drivers/misc/md5.c linux-4.0-AES/drivers/misc/md5.c
+--- linux-4.0-noloop/drivers/misc/md5.c        1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/md5.c   2015-05-03 18:22:44.000000000 +0300
 @@ -0,0 +1,106 @@
 +/*
 + * MD5 Message Digest Algorithm (RFC1321).
@@ -8933,9 +8830,9 @@ diff -urN linux-3.19-noloop/drivers/misc/md5.c 
linux-3.19-AES/drivers/misc/md5.c
 +    hash[2] += c;
 +    hash[3] += d;
 +}
-diff -urN linux-3.19-noloop/drivers/misc/md5.h 
linux-3.19-AES/drivers/misc/md5.h
---- linux-3.19-noloop/drivers/misc/md5.h       1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/drivers/misc/md5.h  2015-02-09 20:49:52.000000000 +0200
+diff -urN linux-4.0-noloop/drivers/misc/md5.h linux-4.0-AES/drivers/misc/md5.h
+--- linux-4.0-noloop/drivers/misc/md5.h        1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/drivers/misc/md5.h   2015-05-03 18:22:44.000000000 +0300
 @@ -0,0 +1,15 @@
 +/* md5.h */
 +
@@ -8952,9 +8849,9 @@ diff -urN linux-3.19-noloop/drivers/misc/md5.h 
linux-3.19-AES/drivers/misc/md5.h
 + asmlinkage
 +#endif
 +extern void md5_transform_CPUbyteorder_2x(u_int32_t *, u_int32_t const *, 
u_int32_t const *);
-diff -urN linux-3.19-noloop/include/linux/loop.h 
linux-3.19-AES/include/linux/loop.h
---- linux-3.19-noloop/include/linux/loop.h     1970-01-01 02:00:00.000000000 
+0200
-+++ linux-3.19-AES/include/linux/loop.h        2015-02-09 20:49:52.000000000 
+0200
+diff -urN linux-4.0-noloop/include/linux/loop.h 
linux-4.0-AES/include/linux/loop.h
+--- linux-4.0-noloop/include/linux/loop.h      1970-01-01 02:00:00.000000000 
+0200
++++ linux-4.0-AES/include/linux/loop.h 2015-05-03 18:22:44.000000000 +0300
 @@ -0,0 +1,171 @@
 +#ifndef _LINUX_LOOP_H
 +#define _LINUX_LOOP_H

Reply via email to