summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/btrfs-progs-e-value-block.patch37
-rw-r--r--gnu/packages/patches/e2fsprogs-glibc-2.27.patch56
-rw-r--r--gnu/packages/patches/eigen-arm-neon-fixes.patch245
-rw-r--r--gnu/packages/patches/extundelete-e2fsprogs-1.44.patch23
-rw-r--r--gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch15
-rw-r--r--gnu/packages/patches/lxc-CVE-2018-6556.patch116
-rw-r--r--gnu/packages/patches/openssh-CVE-2018-15473.patch165
-rw-r--r--gnu/packages/patches/qtoctave-qt-5.11-fix.patch26
-rw-r--r--gnu/packages/patches/racket-fix-xform-issue.patch63
-rw-r--r--gnu/packages/patches/racket-store-checksum-override.patch19
10 files changed, 216 insertions, 549 deletions
diff --git a/gnu/packages/patches/btrfs-progs-e-value-block.patch b/gnu/packages/patches/btrfs-progs-e-value-block.patch
deleted file mode 100644
index 6365146431..0000000000
--- a/gnu/packages/patches/btrfs-progs-e-value-block.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c78f59a971ce4b543f3177e383b677862b2d9fb5 Mon Sep 17 00:00:00 2001
-From: Qu Wenruo <wqu@suse.com>
-Date: Wed, 14 Mar 2018 08:56:57 +0800
-Subject: [PATCH] btrfs-progs: convert/ext2: Remove check for
- ext2_ext_attr_entry->e_value_block
-
-In latest e2fsprogs (1.44.0) definition of ext2_ext_attr_entry has
-removed member e_value_block, as currently ext* doesn't support it set
-anyway.
-
-So remove such check so that we can pass compile.
-
-Issue: #110
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199071
-Signed-off-by: Qu Wenruo <wqu@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
----
- convert/source-ext2.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/convert/source-ext2.c b/convert/source-ext2.c
-index b1492c78..070126ec 100644
---- a/convert/source-ext2.c
-+++ b/convert/source-ext2.c
-@@ -422,8 +422,7 @@ static int ext2_xattr_check_entry(struct ext2_ext_attr_entry *entry,
- {
- 	size_t value_size = entry->e_value_size;
- 
--	if (entry->e_value_block != 0 || value_size > size ||
--	    entry->e_value_offs + value_size > size)
-+	if (value_size > size || entry->e_value_offs + value_size > size)
- 		return -EIO;
- 	return 0;
- }
--- 
-2.16.3
-
diff --git a/gnu/packages/patches/e2fsprogs-glibc-2.27.patch b/gnu/packages/patches/e2fsprogs-glibc-2.27.patch
deleted file mode 100644
index f0bc7130c0..0000000000
--- a/gnu/packages/patches/e2fsprogs-glibc-2.27.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Copied from:
-https://github.com/openwrt/openwrt/blob/58a95f0f8ff768b43d68eed2b6a786e0f40f723b/tools/e2fsprogs/patches/005-misc-rename-copy_file_range-to-copy_file_chunk.patch
-
-From 01551bdba16ab16512a01affe02ade32c41ede8a Mon Sep 17 00:00:00 2001
-From: Palmer Dabbelt <palmer@dabbelt.com>
-Date: Fri, 29 Dec 2017 10:19:51 -0800
-Subject: [PATCH] misc: rename copy_file_range to copy_file_chunk
-
-As of 2.27, glibc will have a copy_file_range library call to wrap the
-new copy_file_range system call.  This conflicts with the function in
-misc/create_inode.c, which this patch renames _copy_file_range.
-
-Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
----
- misc/create_inode.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/misc/create_inode.c
-+++ b/misc/create_inode.c
-@@ -392,7 +392,7 @@ static ssize_t my_pread(int fd, void *bu
- }
- #endif /* !defined HAVE_PREAD64 && !defined HAVE_PREAD */
- 
--static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
-+static errcode_t copy_file_chunk(ext2_filsys fs, int fd, ext2_file_t e2_file,
- 				 off_t start, off_t end, char *buf,
- 				 char *zerobuf)
- {
-@@ -466,7 +466,7 @@ static errcode_t try_lseek_copy(ext2_fil
- 
- 		data_blk = data & ~(fs->blocksize - 1);
- 		hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1);
--		err = copy_file_range(fs, fd, e2_file, data_blk, hole_blk, buf,
-+		err = copy_file_chunk(fs, fd, e2_file, data_blk, hole_blk, buf,
- 				      zerobuf);
- 		if (err)
- 			return err;
-@@ -516,7 +516,7 @@ static errcode_t try_fiemap_copy(ext2_fi
- 		}
- 		for (i = 0, ext = ext_buf; i < fiemap_buf->fm_mapped_extents;
- 		     i++, ext++) {
--			err = copy_file_range(fs, fd, e2_file, ext->fe_logical,
-+			err = copy_file_chunk(fs, fd, e2_file, ext->fe_logical,
- 					      ext->fe_logical + ext->fe_length,
- 					      buf, zerobuf);
- 			if (err)
-@@ -569,7 +569,7 @@ static errcode_t copy_file(ext2_filsys f
- 		goto out;
- #endif
- 
--	err = copy_file_range(fs, fd, e2_file, 0, statbuf->st_size, buf,
-+	err = copy_file_chunk(fs, fd, e2_file, 0, statbuf->st_size, buf,
- 			      zerobuf);
- out:
- 	ext2fs_free_mem(&zerobuf);
diff --git a/gnu/packages/patches/eigen-arm-neon-fixes.patch b/gnu/packages/patches/eigen-arm-neon-fixes.patch
deleted file mode 100644
index 0838f30463..0000000000
--- a/gnu/packages/patches/eigen-arm-neon-fixes.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-# HG changeset patch
-# User Gael Guennebaud <g.gael@free.fr>
-# Date 1497514590 -7200
-# Node ID d781c1de98342c5ca29c2fe719d8d3c96a35dcd4
-# Parent  48cd83b2b459aa9f3f5dca135d38760fe0b02a2f
-Bug 1436: fix compilation of Jacobi rotations with ARM NEON, some specializations of internal::conj_helper were missing.
-
-diff --git a/Eigen/Core b/Eigen/Core
---- a/Eigen/Core
-+++ b/Eigen/Core
-@@ -371,6 +371,7 @@
- #include "src/Core/MathFunctions.h"
- #include "src/Core/GenericPacketMath.h"
- #include "src/Core/MathFunctionsImpl.h"
-+#include "src/Core/arch/Default/ConjHelper.h"
- 
- #if defined EIGEN_VECTORIZE_AVX512
-   #include "src/Core/arch/SSE/PacketMath.h"
-diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h
---- a/Eigen/src/Core/arch/AVX/Complex.h
-+++ b/Eigen/src/Core/arch/AVX/Complex.h
-@@ -204,23 +204,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet8f, Packet4cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet8f& x, const Packet4cf& y, const Packet4cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet4cf pmul(const Packet8f& x, const Packet4cf& y) const
--  { return Packet4cf(Eigen::internal::pmul(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet4cf, Packet8f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet4cf& x, const Packet8f& y, const Packet4cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf& x, const Packet8f& y) const
--  { return Packet4cf(Eigen::internal::pmul(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet4cf,Packet8f)
- 
- template<> EIGEN_STRONG_INLINE Packet4cf pdiv<Packet4cf>(const Packet4cf& a, const Packet4cf& b)
- {
-@@ -400,23 +384,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4d, Packet2cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet4d& x, const Packet2cd& y, const Packet2cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cd pmul(const Packet4d& x, const Packet2cd& y) const
--  { return Packet2cd(Eigen::internal::pmul(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cd, Packet4d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet2cd& x, const Packet4d& y, const Packet2cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cd pmul(const Packet2cd& x, const Packet4d& y) const
--  { return Packet2cd(Eigen::internal::pmul(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cd,Packet4d)
- 
- template<> EIGEN_STRONG_INLINE Packet2cd pdiv<Packet2cd>(const Packet2cd& a, const Packet2cd& b)
- {
-diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h
---- a/Eigen/src/Core/arch/AltiVec/Complex.h
-+++ b/Eigen/src/Core/arch/AltiVec/Complex.h
-@@ -224,23 +224,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4f, Packet2cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const
--  { return Packet2cf(internal::pmul<Packet4f>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cf, Packet4f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const
--  { return Packet2cf(internal::pmul<Packet4f>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
- 
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
- {
-@@ -416,23 +400,8 @@
-     return pconj(internal::pmul(a, b));
-   }
- };
--template<> struct conj_helper<Packet2d, Packet1cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
- 
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const
--  { return Packet1cd(internal::pmul<Packet2d>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet1cd, Packet2d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const
--  { return Packet1cd(internal::pmul<Packet2d>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
- 
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
- {
-diff --git a/Eigen/src/Core/arch/Default/ConjHelper.h b/Eigen/src/Core/arch/Default/ConjHelper.h
-new file mode 100644
---- /dev/null
-+++ b/Eigen/src/Core/arch/Default/ConjHelper.h
-@@ -0,0 +1,29 @@
-+
-+// This file is part of Eigen, a lightweight C++ template library
-+// for linear algebra.
-+//
-+// Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
-+//
-+// This Source Code Form is subject to the terms of the Mozilla
-+// Public License v. 2.0. If a copy of the MPL was not distributed
-+// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+#ifndef EIGEN_ARCH_CONJ_HELPER_H
-+#define EIGEN_ARCH_CONJ_HELPER_H
-+
-+#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL)                                                          \
-+  template<> struct conj_helper<PACKET_REAL, PACKET_CPLX, false,false> {                                          \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const PACKET_CPLX& y, const PACKET_CPLX& c) const \
-+    { return padd(c, pmul(x,y)); }                                                                                \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const PACKET_CPLX& y) const                        \
-+    { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x, y.v)); }                                           \
-+  };                                                                                                              \
-+                                                                                                                  \
-+  template<> struct conj_helper<PACKET_CPLX, PACKET_REAL, false,false> {                                          \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const PACKET_REAL& y, const PACKET_CPLX& c) const \
-+    { return padd(c, pmul(x,y)); }                                                                                \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const PACKET_REAL& y) const                        \
-+    { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x.v, y)); }                                           \
-+  };
-+
-+#endif // EIGEN_ARCH_CONJ_HELPER_H
-diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h
---- a/Eigen/src/Core/arch/NEON/Complex.h
-+++ b/Eigen/src/Core/arch/NEON/Complex.h
-@@ -265,6 +265,8 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
-+
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
- {
-   // TODO optimize it for NEON
-@@ -456,6 +458,8 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
-+
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
- {
-   // TODO optimize it for NEON
-diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h
---- a/Eigen/src/Core/arch/SSE/Complex.h
-+++ b/Eigen/src/Core/arch/SSE/Complex.h
-@@ -229,23 +229,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4f, Packet2cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const
--  { return Packet2cf(Eigen::internal::pmul<Packet4f>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cf, Packet4f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const
--  { return Packet2cf(Eigen::internal::pmul<Packet4f>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
- 
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
- {
-@@ -430,23 +414,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet2d, Packet1cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const
--  { return Packet1cd(Eigen::internal::pmul<Packet2d>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet1cd, Packet2d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const
--  { return Packet1cd(Eigen::internal::pmul<Packet2d>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
- 
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
- {
-diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h
---- a/Eigen/src/Core/arch/ZVector/Complex.h
-+++ b/Eigen/src/Core/arch/ZVector/Complex.h
-@@ -336,6 +336,9 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
-+
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
- {
-   // TODO optimize it for AltiVec
diff --git a/gnu/packages/patches/extundelete-e2fsprogs-1.44.patch b/gnu/packages/patches/extundelete-e2fsprogs-1.44.patch
new file mode 100644
index 0000000000..5a93a39b23
--- /dev/null
+++ b/gnu/packages/patches/extundelete-e2fsprogs-1.44.patch
@@ -0,0 +1,23 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 16 Aug 2018 21:12:30 +0200
+Subject: extundelete: Fix build with e2fsprogs 1.44.
+
+The ‘inode.i_file_acl’ field was replaced with ‘inode.i_size_high’. I'm
+not sure the field name is still accurate or useful, so don't print it
+at all.
+
+Based on this[0] patch by ‘conikost’[1].
+
+[0]: https://sourceforge.net/p/extundelete/tickets/5/
+[1]: https://sourceforge.net/u/conikost
+
+--- a/src/insertionops.cc	2012-12-30 18:23:32.000000000 +0100
++++ b/src/insertionops.cc	2018-05-07 22:58:13.065868723 +0200
+@@ -33,7 +33,6 @@
+   os << "File flags: " << inode.i_flags << std::endl;
+   os << "File version (for NFS): " << inode.i_generation << std::endl;
+   os << "File ACL: " << inode.i_file_acl << std::endl;
+-  os << "Directory ACL: " << inode.i_dir_acl << std::endl;
+   os << "Fragment address: " << inode.i_faddr << std::endl;
+   os << "Direct blocks: ";
+   for (int n = 0; n < EXT2_NDIR_BLOCKS; n++)
diff --git a/gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch b/gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch
new file mode 100644
index 0000000000..86a3ee912d
--- /dev/null
+++ b/gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch
@@ -0,0 +1,15 @@
+This is a backport of part of this patch from 6.5 to 4.8:
+
+  https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=8937b94d1a643fd9760714642296d034a45254a8
+
+--- a/libsanitizer/tsan/tsan_platform_linux.cc
++++ b/libsanitizer/tsan/tsan_platform_linux.cc
+@@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) {
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+   int cnt = 0;
+-  __res_state *statp = (__res_state*)state;
++  struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+       fds[cnt++] = statp->_u._ext.nssocks[i];
diff --git a/gnu/packages/patches/lxc-CVE-2018-6556.patch b/gnu/packages/patches/lxc-CVE-2018-6556.patch
deleted file mode 100644
index 7eab7101f1..0000000000
--- a/gnu/packages/patches/lxc-CVE-2018-6556.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Fix CVE-2018-6556:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6556
-https://bugzilla.suse.com/show_bug.cgi?id=988348#c8
-
-Patch copied from upstream source repository:
-
-https://github.com/lxc/lxc/commit/c1cf54ebf251fdbad1e971679614e81649f1c032
-
-From c1cf54ebf251fdbad1e971679614e81649f1c032 Mon Sep 17 00:00:00 2001
-From: Christian Brauner <christian.brauner@ubuntu.com>
-Date: Wed, 25 Jul 2018 19:56:54 +0200
-Subject: [PATCH] CVE 2018-6556: verify netns fd in lxc-user-nic
-
-Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
----
- src/lxc/cmd/lxc_user_nic.c | 35 ++++++++++++++++++++++++++++++++---
- src/lxc/utils.c            | 12 ++++++++++++
- src/lxc/utils.h            |  5 +++++
- 3 files changed, 49 insertions(+), 3 deletions(-)
-
-diff --git a/src/lxc/cmd/lxc_user_nic.c b/src/lxc/cmd/lxc_user_nic.c
-index ec9cd97e0..c5beb6c8d 100644
---- a/src/lxc/cmd/lxc_user_nic.c
-+++ b/src/lxc/cmd/lxc_user_nic.c
-@@ -1179,12 +1179,41 @@ int main(int argc, char *argv[])
- 			exit(EXIT_FAILURE);
- 		}
- 	} else if (request == LXC_USERNIC_DELETE) {
--		netns_fd = open(args.pid, O_RDONLY);
-+		char opath[LXC_PROC_PID_FD_LEN];
-+
-+		/* Open the path with O_PATH which will not trigger an actual
-+		 * open(). Don't report an errno to the caller to not leak
-+		 * information whether the path exists or not.
-+		 * When stracing setuid is stripped so this is not a concern
-+		 * either.
-+		 */
-+		netns_fd = open(args.pid, O_PATH | O_CLOEXEC);
- 		if (netns_fd < 0) {
--			usernic_error("Could not open \"%s\": %s\n", args.pid,
--				      strerror(errno));
-+			usernic_error("Failed to open \"%s\"\n", args.pid);
-+			exit(EXIT_FAILURE);
-+		}
-+
-+		if (!fhas_fs_type(netns_fd, NSFS_MAGIC)) {
-+			usernic_error("Path \"%s\" does not refer to a network namespace path\n", args.pid);
-+			close(netns_fd);
-+			exit(EXIT_FAILURE);
-+		}
-+
-+		ret = snprintf(opath, sizeof(opath), "/proc/self/fd/%d", netns_fd);
-+		if (ret < 0 || (size_t)ret >= sizeof(opath)) {
-+			close(netns_fd);
-+			exit(EXIT_FAILURE);
-+		}
-+
-+		/* Now get an fd that we can use in setns() calls. */
-+		ret = open(opath, O_RDONLY | O_CLOEXEC);
-+		if (ret < 0) {
-+			usernic_error("Failed to open \"%s\": %s\n", args.pid, strerror(errno));
-+			close(netns_fd);
- 			exit(EXIT_FAILURE);
- 		}
-+		close(netns_fd);
-+		netns_fd = ret;
- 	}
- 
- 	if (!create_db_dir(LXC_USERNIC_DB)) {
-diff --git a/src/lxc/utils.c b/src/lxc/utils.c
-index 530b1f81a..3b854e35b 100644
---- a/src/lxc/utils.c
-+++ b/src/lxc/utils.c
-@@ -2544,6 +2544,18 @@ bool has_fs_type(const char *path, fs_type_magic magic_val)
- 	return has_type;
- }
- 
-+bool fhas_fs_type(int fd, fs_type_magic magic_val)
-+{
-+	int ret;
-+	struct statfs sb;
-+
-+	ret = fstatfs(fd, &sb);
-+	if (ret < 0)
-+		return false;
-+
-+	return is_fs_type(&sb, magic_val);
-+}
-+
- bool lxc_nic_exists(char *nic)
- {
- #define __LXC_SYS_CLASS_NET_LEN 15 + IFNAMSIZ + 1
-diff --git a/src/lxc/utils.h b/src/lxc/utils.h
-index 6a0bebded..0805f5d0d 100644
---- a/src/lxc/utils.h
-+++ b/src/lxc/utils.h
-@@ -95,6 +95,10 @@
- #define CGROUP2_SUPER_MAGIC 0x63677270
- #endif
- 
-+#ifndef NSFS_MAGIC
-+#define NSFS_MAGIC 0x6e736673
-+#endif
-+
- /* Useful macros */
- /* Maximum number for 64 bit integer is a string with 21 digits: 2^64 - 1 = 21 */
- #define LXC_NUMSTRLEN64 21
-@@ -580,6 +584,7 @@ extern void *must_realloc(void *orig, size_t sz);
- /* __typeof__ should be safe to use with all compilers. */
- typedef __typeof__(((struct statfs *)NULL)->f_type) fs_type_magic;
- extern bool has_fs_type(const char *path, fs_type_magic magic_val);
-+extern bool fhas_fs_type(int fd, fs_type_magic magic_val);
- extern bool is_fs_type(const struct statfs *fs, fs_type_magic magic_val);
- extern bool lxc_nic_exists(char *nic);
- extern int lxc_make_tmpfile(char *template, bool rm);
diff --git a/gnu/packages/patches/openssh-CVE-2018-15473.patch b/gnu/packages/patches/openssh-CVE-2018-15473.patch
new file mode 100644
index 0000000000..26b2dc59c3
--- /dev/null
+++ b/gnu/packages/patches/openssh-CVE-2018-15473.patch
@@ -0,0 +1,165 @@
+Fix CVE-2018-15473, a method by which remote clients can enumerate
+usernames on the server:
+
+http://seclists.org/oss-sec/2018/q3/124
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15473
+
+Patch adapted from upstream source repository:
+
+https://anongit.mindrot.org/openssh.git/commit/?id=74287f5df9966a0648b4a68417451dd18f079ab8
+
+From 74287f5df9966a0648b4a68417451dd18f079ab8 Mon Sep 17 00:00:00 2001
+From: "djm@openbsd.org" <djm@openbsd.org>
+Date: Tue, 31 Jul 2018 03:10:27 +0000
+Subject: [PATCH] upstream: delay bailout for invalid authentic
+
+=?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?=
+=?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?=
+=?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d
+---
+ auth2-gss.c       | 11 +++++++----
+ auth2-hostbased.c | 11 ++++++-----
+ auth2-pubkey.c    | 25 +++++++++++++++----------
+ 3 files changed, 28 insertions(+), 19 deletions(-)
+
+# Adapted from upstream to apply to OpenSSH 7.7p1.
+diff --git a/auth2-gss.c b/auth2-gss.c
+index 589283b7..1d7cfb39 100644
+--- a/auth2-gss.c
++++ b/auth2-gss.c
+@@ -69,9 +69,6 @@ userauth_gssapi(struct ssh *ssh)
+ 	u_int len;
+ 	u_char *doid = NULL;
+ 
+-	if (!authctxt->valid || authctxt->user == NULL)
+-		return (0);
+-
+ 	mechs = packet_get_int();
+ 	if (mechs == 0) {
+ 		debug("Mechanism negotiation is not supported");
+diff --git a/auth2-gss.c b/auth2-gss.c
+index 47308c5c..9351e042 100644
+--- a/auth2-gss.c
++++ b/auth2-gss.c
+@@ -106,6 +103,12 @@ userauth_gssapi(struct ssh *ssh)
+ 		return (0);
+ 	}
+ 
++	if (!authctxt->valid || authctxt->user == NULL) {
++		debug2("%s: disabled because of invalid user", __func__);
++		free(doid);
++		return (0);
++	}
++
+ 	if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, &goid)))) {
+ 		if (ctxt != NULL)
+ 			ssh_gssapi_delete_ctx(&ctxt);
+diff --git a/auth2-hostbased.c b/auth2-hostbased.c
+index 60159a56..35939329 100644
+--- a/auth2-hostbased.c
++++ b/auth2-hostbased.c
+@@ -67,10 +67,6 @@ userauth_hostbased(struct ssh *ssh)
+ 	size_t alen, blen, slen;
+ 	int r, pktype, authenticated = 0;
+ 
+-	if (!authctxt->valid) {
+-		debug2("%s: disabled because of invalid user", __func__);
+-		return 0;
+-	}
+ 	/* XXX use sshkey_froms() */
+ 	if ((r = sshpkt_get_cstring(ssh, &pkalg, &alen)) != 0 ||
+ 	    (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0 ||
+@@ -117,6 +113,11 @@ userauth_hostbased(struct ssh *ssh)
+ 		goto done;
+ 	}
+ 
++	if (!authctxt->valid || authctxt->user == NULL) {
++		debug2("%s: disabled because of invalid user", __func__);
++		goto done;
++	}
++
+ 	if ((b = sshbuf_new()) == NULL)
+ 		fatal("%s: sshbuf_new failed", __func__);
+ 	/* reconstruct packet */
+diff --git a/auth2-pubkey.c b/auth2-pubkey.c
+index c4d0f790..e1c15040 100644
+--- a/auth2-pubkey.c
++++ b/auth2-pubkey.c
+@@ -89,19 +89,15 @@ userauth_pubkey(struct ssh *ssh)
+ {
+ 	Authctxt *authctxt = ssh->authctxt;
+ 	struct passwd *pw = authctxt->pw;
+-	struct sshbuf *b;
++	struct sshbuf *b = NULL;
+ 	struct sshkey *key = NULL;
+-	char *pkalg, *userstyle = NULL, *key_s = NULL, *ca_s = NULL;
+-	u_char *pkblob, *sig, have_sig;
++	char *pkalg = NULL, *userstyle = NULL, *key_s = NULL, *ca_s = NULL;
++	u_char *pkblob = NULL, *sig = NULL, have_sig;
+ 	size_t blen, slen;
+ 	int r, pktype;
+ 	int authenticated = 0;
+ 	struct sshauthopt *authopts = NULL;
+ 
+-	if (!authctxt->valid) {
+-		debug2("%s: disabled because of invalid user", __func__);
+-		return 0;
+-	}
+ 	if ((r = sshpkt_get_u8(ssh, &have_sig)) != 0 ||
+ 	    (r = sshpkt_get_cstring(ssh, &pkalg, NULL)) != 0 ||
+ 	    (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0)
+@@ -167,6 +163,11 @@ userauth_pubkey(struct ssh *ssh)
+ 				fatal("%s: sshbuf_put_string session id: %s",
+ 				    __func__, ssh_err(r));
+ 		}
++		if (!authctxt->valid || authctxt->user == NULL) {
++			debug2("%s: disabled because of invalid user",
++			    __func__);
++			goto done;
++		}
+ 		/* reconstruct packet */
+ 		xasprintf(&userstyle, "%s%s%s", authctxt->user,
+ 		    authctxt->style ? ":" : "",
+@@ -183,7 +184,6 @@ userauth_pubkey(struct ssh *ssh)
+ #ifdef DEBUG_PK
+ 		sshbuf_dump(b, stderr);
+ #endif
+-
+ 		/* test for correct signature */
+ 		authenticated = 0;
+ 		if (PRIVSEP(user_key_allowed(ssh, pw, key, 1, &authopts)) &&
+@@ -194,7 +194,6 @@ userauth_pubkey(struct ssh *ssh)
+ 			authenticated = 1;
+ 		}
+ 		sshbuf_free(b);
+-		free(sig);
+ 		auth2_record_key(authctxt, authenticated, key);
+ 	} else {
+ 		debug("%s: test pkalg %s pkblob %s%s%s",
+@@ -205,6 +204,11 @@ userauth_pubkey(struct ssh *ssh)
+ 		if ((r = sshpkt_get_end(ssh)) != 0)
+ 			fatal("%s: %s", __func__, ssh_err(r));
+ 
++		if (!authctxt->valid || authctxt->user == NULL) {
++			debug2("%s: disabled because of invalid user",
++			    __func__);
++			goto done;
++		}
+ 		/* XXX fake reply and always send PK_OK ? */
+ 		/*
+ 		 * XXX this allows testing whether a user is allowed
+@@ -238,6 +242,7 @@ done:
+ 	free(pkblob);
+ 	free(key_s);
+ 	free(ca_s);
++	free(sig);
+ 	return authenticated;
+ }
+ 
+-- 
+2.18.0
diff --git a/gnu/packages/patches/qtoctave-qt-5.11-fix.patch b/gnu/packages/patches/qtoctave-qt-5.11-fix.patch
deleted file mode 100644
index 67317d1b36..0000000000
--- a/gnu/packages/patches/qtoctave-qt-5.11-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This patch comes from upstream:
-https://hg.savannah.gnu.org/hgweb/octave/rev/cdaa884568b1.
-
-# HG changeset patch
-# User Mike Miller <mtmiller@octave.org>
-# Date 1527214835 25200
-# Node ID cdaa884568b159549bd373f04386ff62417f6df9
-# Parent  9e39a53b4e007d3f79f88b711ab9fa5f2f24fbc9
-add Qt include needed to build against Qt 5.11 (bug #53978)
-
-* settings-dialog.cc: Add missing include for <QButtonGroup> to fix build
-failure with Qt 5.11.
-
-diff --git a/libgui/src/settings-dialog.cc b/libgui/src/settings-dialog.cc
---- a/libgui/src/settings-dialog.cc
-+++ b/libgui/src/settings-dialog.cc
-@@ -34,6 +34,8 @@
- #include "workspace-model.h"
- #include "settings-dialog.h"
- #include "ui-settings-dialog.h"
-+
-+#include <QButtonGroup>
- #include <QDir>
- #include <QFileInfo>
- #include <QFileDialog>
-
diff --git a/gnu/packages/patches/racket-fix-xform-issue.patch b/gnu/packages/patches/racket-fix-xform-issue.patch
deleted file mode 100644
index 0a1640ee51..0000000000
--- a/gnu/packages/patches/racket-fix-xform-issue.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-050cdb59839896b41431791f8ee0ef2564231b8f
-Author:     Matthew Flatt <mflatt@racket-lang.org>
-AuthorDate: Tue Mar 6 09:05:08 2018 -0700
-Commit:     Matthew Flatt <mflatt@racket-lang.org>
-CommitDate: Tue Mar 6 09:05:08 2018 -0700
-
-Parent:     efb9a919fc ffi docs: clarification on `unsafe-socket->port`
-Containing: master
-Follows:    v5.0.1 (21612)
-
-xform: avoid problems with `__signbitf128`
-
-Closes #1962 and uses the suggested patch there, among other changes.
-
-2 files changed, 6 insertions(+), 3 deletions(-)
-racket/collects/compiler/private/xform.rkt | 2 +-
-racket/src/racket/src/number.c             | 7 +++++--
-
-diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt
-index 28a425c057..89ae848f9c 100644
---- a/collects/compiler/private/xform.rkt
-+++ b/collects/compiler/private/xform.rkt
-@@ -904,7 +904,7 @@
- 
-                strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp
-                isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl
--	       _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl
-+	       _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128
-                __isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128
-                __inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl
-                __builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit
-diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
-index 71f42aaf3c..3bbad3ba83 100644
---- a/src/racket/src/number.c
-+++ b/src/racket/src/number.c
-@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r)
- }
- 
- XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
-+  XFORM_SKIP_PROC
- {
- #ifdef MZ_IS_NEG_ZERO
-   return MZ_IS_NEG_ZERO(d);
-@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d)
-   return minus_zero_p(d);
- }
- 
--static int rational_dbl_p(double f) {
-+XFORM_NONGCING static int rational_dbl_p(double f)
-+  XFORM_SKIP_PROC
-+{
-   return !(MZ_IS_NAN(f)
-            || MZ_IS_INFINITY(f));
- }
-@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[])
-   return (SCHEME_REALP(o) ? scheme_true : scheme_false);
- }
- 
--static int is_rational(const Scheme_Object *o)
-+XFORM_NONGCING static int is_rational(const Scheme_Object *o)
- {
-   if (SCHEME_FLOATP(o))
-     return rational_dbl_p(SCHEME_FLOAT_VAL(o));
\ No newline at end of file
diff --git a/gnu/packages/patches/racket-store-checksum-override.patch b/gnu/packages/patches/racket-store-checksum-override.patch
index b22facca0d..6c9cd5198a 100644
--- a/gnu/packages/patches/racket-store-checksum-override.patch
+++ b/gnu/packages/patches/racket-store-checksum-override.patch
@@ -7,19 +7,23 @@ because the store is immutable.  This patch makes Racket ignore
 checksums for files in the store.
 
 See <https://debbugs.gnu.org/30680> for details.
+---
+ collects/compiler/private/cm-minimal.rkt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
 
-diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/compiler/cm.rkt
---- racket-6.12/collects/compiler/cm.rkt	1969-12-31 19:00:00.000000000 -0500
-+++ racket-6.12-patched/collects/compiler/cm.rkt	2018-08-12 06:36:46.061142149 -0400
+diff --git a/collects/compiler/private/cm-minimal.rkt b/collects/compiler/private/cm-minimal.rkt
+index a5a5407..15af6b8 100644
+--- a/collects/compiler/private/cm-minimal.rkt
++++ b/collects/compiler/private/cm-minimal.rkt
 @@ -7,6 +7,7 @@
           racket/list
           racket/path
           racket/promise
 +         racket/string
           openssl/sha1
-          racket/place
           setup/collects
-@@ -627,6 +628,10 @@
+          compiler/compilation-path
+@@ -543,6 +544,10 @@
        #f
        (list src-hash recorded-hash)))
  
@@ -30,7 +34,7 @@ diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/comp
  (define (rkt->ss p)
    (if (path-has-extension? p #".rkt")
        (path-replace-extension p #".ss")
-@@ -679,7 +684,8 @@
+@@ -595,7 +600,8 @@
                (trace-printf "newer src... ~a > ~a" path-time path-zo-time)
                ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
                (maybe-compile-zo sha1-only? deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen)]
@@ -40,3 +44,6 @@ diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/comp
                => (lambda (difference)
                     (trace-printf "different src hash... ~a" difference)
                     ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
+-- 
+2.18.0
+