Release linux (4.5.2-1).

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIVAwUAVyKf7Oe/yOyVhhEJAQqAnQ//cXPxmlNgmpwl9YUWt7WWjMBr4fyShKp0
 0MIcV8O7G1Jaov8valxFnSp7/LEDkA5bkQFec39ZKR4jjnkATCY7LWhC35PDe7fK
 gSIu4+jhnAFMsedRcqlbugsnQAkZGfxPWvxBVqy7veBmMSEywnEs7XW/PVZBWLdX
 kBmTwqoE5aKnaEYa2HwT53zKZBO4zG3AqHJAnU71DLf20cIPXm/zYthxatQs8GYs
 AybmlejWWkZgpob6CSax8zoSvUuSJGIU63RaH4z8IT6I7C0imcAJ6qwqR5nKtkzb
 zDmG81mmxGT1JAxptIeaJQw9qAnygFWKrRxk/uERoFhpFXYiropCuP7bTG7DZgDc
 Nqec5PLt37Y6bV6eaKXpk/0IyvBdO5We+GUOTgf39v9HtDc6rKvHrTMtlr7DEKot
 9d+P9ybQlEwB61pe1HU9lGUKSjMAA6RKsa3qAWcZJQYLylrFVYPbnIsVk3EG6z5v
 0+F1rzTGPcB9iEUp1lKTOw+qk/13tKrLNvAX/Wz9RBpPUvNy2BBXNnEP8I5pCBV4
 C2iyQZAJuGtTHdH96LjVXq9vX78ohnRcOQVrimq8/X6HWrOSU0WYWWJkxcHl4D3d
 3Z6iOrrqWg95NIC/YH3iZHdKsq2KeHGsApZBBYitKCtCfkVchv7nfAb5rocc7u25
 LeOq7Rc/dIM=
 =BJL3
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.5.2-1'
This commit is contained in:
Ben Hutchings 2016-04-29 02:14:04 +02:00
commit fc5b920758
15 changed files with 475 additions and 121 deletions

View File

@ -51,6 +51,6 @@ See the patches under debian/patches/debian/dfsg.
Further information
-------------------
Debian Linux Kernel Handbook: http://kernel-handbook.alioth.debian.org
Debian Linux Kernel Handbook: https://kernel-handbook.alioth.debian.org
or debian-kernel-handbook package
Debian Wiki: http://wiki.debian.org/DebianKernel
Debian Wiki: https://wiki.debian.org/DebianKernel

149
debian/changelog vendored
View File

@ -23,6 +23,155 @@ linux (4.6~rc3-1~exp1) experimental; urgency=medium
-- Ben Hutchings <ben@decadent.org.uk> Thu, 14 Apr 2016 23:55:15 +0100
linux (4.5.2-1) unstable; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.5.2
- hwmon: (max1111) Return -ENODEV from max1111_read_channel if not
instantiated
- PKCS#7: pkcs7_validate_trust(): initialize the _trusted output argument
- [hppa] Fix SIGSYS signals in compat case
- [hppa] Fix and enable seccomp filter support
- [hppa] Avoid function pointers for kernel exception routines
- [hppa] Fix kernel crash with reversed copy_from_user()
- [hppa] Unbreak handling exceptions from kernel modules
- ALSA: timer: Use mod_timer() for rearming the system timer
- mm: fix invalid node in alloc_migrate_target()
- [powerpc*] mm: Fixup preempt underflow with huge pages
- [s390x] /mm: handle PTE-mapped tail pages in fast gup
- [x86] libnvdimm: fix smart data retrieval
- [x86] libnvdimm, pfn: fix uuid validation
- [powerpc*] process: Fix altivec SPR not being saved
- compiler-gcc: disable -ftracer for __noclone functions
- drm/dp: move hw_mutex up the call stack
- drm/udl: Use unlocked gem unreferencing
- [x86] drm/amd/powerplay: fix segment fault issue in multi-display case.
- [x86] drm/amdgpu/gmc: move vram type fetching into sw_init
- [x86] drm/amdgpu/gmc: use proper register for vram type on Fiji
- xen/events: Mask a moving irq
- net: validate variable length ll headers
- ax25: add link layer header validation function
- packet: validate variable length ll headers
- bpf: avoid copying junk bytes in bpf_get_current_comm()
- qlcnic: Remove unnecessary usage of atomic_t
- qlcnic: Fix mailbox completion handling during spurious interrupt
- macvtap: always pass ethernet header in linear
- bridge: allow zero ageing time
- ipv4: Don't do expensive useless work during inetdev destroy.
- net: Fix use after free in the recvmmsg exit path
- mlx4: add missing braces in verify_qp_parameters
- farsync: fix off-by-one bug in fst_add_one
- ath9k: fix buffer overrun for ar9287
- [armhf] net: mvneta: Fix spinlock usage
- ppp: ensure file->private_data can't be overridden
- tcp/dccp: remove obsolete WARN_ON() in icmp handlers
- qlge: Fix receive packets drop.
- bonding: fix bond_get_stats()
- ipv4: fix broadcast packets reception
- ipv4: initialize flowi4_flags before calling fib_lookup()
- ppp: take reference on channels netns
- xfrm: Fix crash observed during device unregistration and decryption
- ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates
- bridge: Allow set bridge ageing time when switchdev disabled
- rtnl: fix msg size calculation in if_nlmsg_size()
- tun, bpf: fix suspicious RCU usage in tun_{attach, detach}_filter
- tuntap: restore default qdisc
- ipv4: l2tp: fix a potential issue in l2tp_ip_recv
- ipv6: l2tp: fix a potential issue in l2tp_ip6_recv
- ip6_tunnel: set rtnl_link_ops before calling register_netdevice
- ipv6: Count in extension headers in skb->network_header
- mpls: find_outdev: check for err ptr in addition to NULL check
- USB: uas: Limit qdepth at the scsi-host level
- USB: uas: Add a new NO_REPORT_LUNS quirk
- [x86] KVM: Inject pending interrupt even if pending nmi exist
- [x86] KVM: reduce default value of halt_poll_ns parameter
- pinctrl: pistachio: fix mfio84-89 function description and pinmux.
- pinctrl: sunxi: Fix A33 external interrupts not working
- pinctrl: freescale: imx: fix bogus check of of_iomap() return value
- au0828: fix au0828_v4l2_close() dev_state race condition
- au0828: Fix dev_state handling
- coda: fix error path in case of missing pdata on non-DT platform
- v4l: vsp1: Set the SRU CTRL0 register when starting the stream
- pcmcia: db1xxx_ss: fix last irq_to_gpio user
- rbd: use GFP_NOIO consistently for request allocations
- mac80211: properly deal with station hashtable insert errors
- mac80211: avoid excessive stack usage in sta_info
- mac80211: fix ibss scan parameters
- mac80211: fix unnecessary frame drops in mesh fwding
- mac80211: fix txq queue related crashes
- [armhf] gpio: pca953x: Use correct u16 value for register word write
- scsi: Do not attach VPD to devices that don't support it
- [armel,armhf]: 8550/1: protect idiv patching against undefined
gcc behavior
- iio: fix config watermark initial value
- iio: st_magn: always define ST_MAGN_TRIGGER_SET_STATE
- iio: accel: bmc150: fix endianness when reading axes
- iio: gyro: bmg160: fix buffer read values
- iio: gyro: bmg160: fix endianness when reading axes
- sd: Fix excessive capacity printing on devices with blocks bigger than
512 bytes
- fs: add file_dentry() (Closes: #821442)
+ nfs: use file_dentry()
+ ext4 crypto: use dget_parent() in ext4_d_revalidate()
+ ext4: use dget_parent() in ext4_file_open()
+ ext4: use file_dentry()
- btrfs: fix crash/invalid memory access on fsync when using overlayfs
- ext4: ignore quota mount options if the quota feature is enabled
- iommu: Don't overwrite domain pointer when there is no default_domain
- Btrfs: fix file/data loss caused by fsync after rename and new inode
- [arm64] replace read_lock to rcu lock in call_step_hook
- mmc: sdhci: Fix regression setting power on Trats2 board
- ALSA: hda - Fix regression of monitor_present flag in eld proc file
- [x86] ALSA: usb-audio: Skip volume controls triggers hangup on Dell
USB Dock
- HID: wacom: fix Bamboo ONE oops
- HID: usbhid: fix inconsistent reset/resume/reset-resume behavior
[ Salvatore Bonaccorso ]
* [x86] xen: suppress hugetlbfs in PV guests (CVE-2016-3961)
* [x86] USB: usbip: fix potential out-of-bounds write (CVE-2016-3955)
[ Ben Hutchings ]
* fs: Consolidate softdep declarations in each module
* Bump ABI to 2
* [armel/marvell] dts: kirkwood: fix SD slot default configuration for OpenRD
(Closes: #811351)
* atl2: Disable unimplemented scatter/gather feature (CVE-2016-2117)
* [x86] sound/soc/intel: Enable SND_SOC_INTEL_BYTCR_RT5640_MACH (replacing
SND_SOC_INTEL_BYT_RT5640_MACH; closes: #822267),
SND_SOC_INTEL_BYTCR_RT5651_MACH, SND_SOC_INTEL_CHT_BSW_RT5672_MACH,
SND_SOC_INTEL_CHT_BSW_RT5645_MACH, SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH,
SND_SOC_INTEL_SKL_RT286_MACH, SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH,
SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH as modules
* module: Invalidate signatures on force-loaded modules
* linux-source: Fix up module signing configuration in included kernel
config files
* README.Debian: Change more URLs to use https: scheme
* [sparc] Implement and wire up hotplug and modalias_show for vio, thanks to
Adrian Glaubitz (Closes: #815977)
* linux-headers: Avoid mixed implicit and normal rules in Makefile, thanks to
Thierry Herbelot (Closes: #822666)
* memcg: remove lru_add_drain_all() invocation from mem_cgroup_move_charge()
(Closes: #822084)
* linux-perf: Add build-time check for unversioned files that are likely to
result in file conflicts
* linux-perf: Move tips.txt to /usr/share/doc/linux-perf-<version>
(Closes: #821741)
* tools/build: Fix bpf(2) feature test (fixes FTBFS on alpha, sh4;
closes: #822364)
* [armhf] Disable FB_OMAP2; it is redundant and conflicting with DRM_OMAP
* [armhf] mm: Enable CMA, DMA_CMA
* Input: gtco - fix crash on detecting device without endpoints
(CVE-2016-2187)
[ Aurelien Jarno ]
* [mips*] Emulate unaligned LDXC1 and SDXC1 instructions.
[ Uwe Kleine-König ]
* [armhf] enable NET_DSA and available switch drivers as modules.
-- Ben Hutchings <ben@decadent.org.uk> Thu, 28 Apr 2016 18:03:18 +0200
linux (4.5.1-1) unstable; urgency=medium
* New upstream stable update:

View File

@ -151,6 +151,11 @@ CONFIG_PATA_IMX=m
CONFIG_PATA_PLATFORM=m
CONFIG_PATA_OF_PLATFORM=m
##
## file: drivers/base/Kconfig
##
CONFIG_DMA_CMA=y
##
## file: drivers/bluetooth/Kconfig
##
@ -1072,7 +1077,8 @@ CONFIG_FB_SIMPLE=y
##
## file: drivers/video/fbdev/omap2/omapfb/Kconfig
##
CONFIG_FB_OMAP2=m
#. Redundant and conflicting with DRM_OMAP
# CONFIG_FB_OMAP2 is not set
##
## file: drivers/virtio/Kconfig
@ -1100,6 +1106,27 @@ CONFIG_BCM2835_WDT=m
CONFIG_SUSPEND=y
CONFIG_APM_EMULATION=y
##
## file: mm/Kconfig
##
CONFIG_CMA=y
##
## file: net/switchdev/Kconfig
##
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
CONFIG_NET_DSA_MV88E6352=m
CONFIG_NET_DSA_BCM_SF2=m
##
## file: net/switchdev/Kconfig
##
CONFIG_NET_SWITCHDEV=y
##
## file: net/phonet/Kconfig
##

View File

@ -1,5 +1,5 @@
[abi]
abiname: 1
abiname: 2
[base]
arches:

View File

@ -2032,7 +2032,15 @@ CONFIG_SND_SOC=m
## file: sound/soc/intel/Kconfig
##
CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
# CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH is not set
CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m

View File

@ -8,137 +8,77 @@ dependencies of a module.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
fs/btrfs/hash.c | 2 ++
fs/cifs/cifsencrypt.c | 2 ++
fs/cifs/link.c | 2 ++
fs/cifs/smb2transport.c | 2 ++
fs/cifs/smbencrypt.c | 2 ++
fs/crypto/keyinfo.c | 2 ++
fs/ext4/crypto_key.c | 2 ++
fs/ext4/super.c | 2 ++
fs/f2fs/super.c | 2 ++
fs/jbd2/journal.c | 2 ++
fs/nfsd/nfs4recover.c | 2 ++
11 files changed, 22 insertions(+)
--- a/fs/btrfs/hash.c
+++ b/fs/btrfs/hash.c
@@ -13,6 +13,7 @@
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2456,3 +2456,4 @@ late_initcall(init_btrfs_fs);
module_exit(exit_btrfs_fs)
#include <crypto/hash.h>
#include <linux/err.h>
+#include <linux/module.h>
#include "hash.h"
static struct crypto_shash *tfm;
@@ -44,3 +45,5 @@ u32 btrfs_crc32c(u32 crc, const void *ad
return *ctx;
}
+
MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/cifs/cifsencrypt.c
+++ b/fs/cifs/cifsencrypt.c
@@ -875,3 +875,5 @@ cifs_crypto_shash_release(struct TCP_Ser
kfree(server->secmech.sdescmd5);
server->secmech.sdescmd5 = NULL;
}
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -1373,5 +1373,13 @@ MODULE_DESCRIPTION
("VFS to access servers complying with the SNIA CIFS Specification "
"e.g. Samba and Windows");
MODULE_VERSION(CIFS_VERSION);
+
+MODULE_SOFTDEP("pre: crypto-arc4 crypto-ecb crypto-hmac crypto-md5");
--- a/fs/cifs/link.c
+++ b/fs/cifs/link.c
@@ -746,3 +746,5 @@ symlink_exit:
free_xid(xid);
return rc;
}
+#ifdef CONFIG_CIFS_SMB2
+#define CIFS_SMB2_EXTRA_SOFTDEPS " crypto-aes crypto-cmac crypto-sha256"
+#else
+#define CIFS_SMB2_EXTRA_SOFTDEPS ""
+#endif
+MODULE_SOFTDEP("pre: crypto-arc4 crypto-des crypto-ecb crypto-hmac crypto-md4 crypto-md5" CIFS_SMB2_EXTRA_SOFTDEPS);
+
+MODULE_SOFTDEP("pre: crypto-md5");
--- a/fs/cifs/smb2transport.c
+++ b/fs/cifs/smb2transport.c
@@ -700,3 +700,5 @@ smb2_setup_async_request(struct TCP_Serv
module_init(init_cifs)
module_exit(exit_cifs)
--- a/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c
@@ -566,3 +566,4 @@ static void __exit fscrypt_exit(void)
module_exit(fscrypt_exit);
return mid;
}
+
+MODULE_SOFTDEP("pre: crypto-aes crypto-cmac crypto-hmac crypto-sha256");
--- a/fs/cifs/smbencrypt.c
+++ b/fs/cifs/smbencrypt.c
@@ -259,3 +259,5 @@ SMBNTencrypt(unsigned char *passwd, unsi
rc = E_P24(p21, c8, p24);
return rc;
}
+
+MODULE_SOFTDEP("pre: crypto-des crypto-ecb crypto-md4");
--- a/fs/crypto/keyinfo.c
+++ b/fs/crypto/keyinfo.c
@@ -10,6 +10,7 @@
#include <keys/encrypted-type.h>
#include <keys/user-type.h>
+#include <linux/module.h>
#include <linux/random.h>
#include <linux/scatterlist.h>
#include <uapi/linux/keyctl.h>
@@ -270,3 +271,5 @@ int fscrypt_get_encryption_info(struct i
return 0;
}
EXPORT_SYMBOL(fscrypt_get_encryption_info);
+
+MODULE_SOFTDEP("pre: crypto-aes crypto-ecb");
--- a/fs/ext4/crypto_key.c
+++ b/fs/ext4/crypto_key.c
@@ -11,6 +11,7 @@
#include <crypto/skcipher.h>
#include <keys/encrypted-type.h>
#include <keys/user-type.h>
+#include <linux/module.h>
#include <linux/random.h>
#include <linux/scatterlist.h>
#include <uapi/linux/keyctl.h>
@@ -272,3 +273,5 @@ int ext4_has_encryption_key(struct inode
return (ei->i_crypt_info != NULL);
}
+
MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-aes crypto-ecb");
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5438,6 +5438,8 @@ static void __exit ext4_exit_fs(void)
ext4_exit_es();
}
+MODULE_SOFTDEP("pre: crypto-crc32c");
+
@@ -5441,5 +5441,13 @@ static void __exit ext4_exit_fs(void)
MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
MODULE_DESCRIPTION("Fourth Extended Filesystem");
MODULE_LICENSE("GPL");
+
+#ifdef CONFIG_EXT4_FS_ENCRYPTION
+#define EXT4_ENC_EXTRA_SOFTDEPS " crypto-aes crypto-ecb"
+#else
+#define EXT4_ENC_EXTRA_SOFTDEPS ""
+#endif
+MODULE_SOFTDEP("pre: crypto-crc32c" EXT4_ENC_EXTRA_SOFTDEPS);
+
module_init(ext4_init_fs)
module_exit(ext4_exit_fs)
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1736,6 +1736,8 @@ static void __exit exit_f2fs_fs(void)
f2fs_destroy_trace_ios();
}
@@ -1742,3 +1742,4 @@ module_exit(exit_f2fs_fs)
MODULE_AUTHOR("Samsung Electronics's Praesto Team");
MODULE_DESCRIPTION("Flash Friendly File System");
MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
+
module_init(init_f2fs_fs)
module_exit(exit_f2fs_fs)
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2715,6 +2715,8 @@ static void __exit journal_exit(void)
jbd2_journal_destroy_caches();
@@ -2716,6 +2716,7 @@ static void __exit journal_exit(void)
}
+MODULE_SOFTDEP("pre: crypto-crc32c");
+
MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
module_init(journal_init);
module_exit(journal_exit);
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -1560,3 +1560,5 @@ unregister_cld_notifier(void)
{
rpc_pipefs_notifier_unregister(&nfsd4_cld_block);
}
+
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -1314,5 +1314,8 @@ static void __exit exit_nfsd(void)
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
MODULE_LICENSE("GPL");
+#ifdef CONFIG_NFSD_V4
+MODULE_SOFTDEP("pre: crypto-md5");
+#endif
module_init(init_nfsd)
module_exit(exit_nfsd)

View File

@ -0,0 +1,42 @@
From: Tejun Heo <tj@kernel.org>
Subject: memcg: remove lru_add_drain_all() invocation from mem_cgroup_move_charge()
Date: Thu, 21 Apr 2016 11:56:52 -0400
Origin: http://permalink.gmane.org/gmane.linux.kernel.cgroups/15918
Bug-Debian: https://bugs.debian.org/822084
mem_cgroup_move_charge() invokes lru_add_drain_all() so that the pvec
pages can be moved too. lru_add_drain_all() schedules and flushes
work items on system_wq which depends on being able to create new
kworkers to make forward progress. Since 1ed1328792ff ("sched,
cgroup: replace signal_struct->group_rwsem with a global
percpu_rwsem"), a new task can't be created while in the cgroup
migration path and the described lru_add_drain_all() invocation can
easily lead to a deadlock.
Charge moving is best-effort and whether the pvec pages are migrated
or not doesn't really matter. Don't call it during charge moving.
Eventually, we want to move the actual charge moving outside the
migration path.
Signed-off-by: Tejun Heo <tj@kernel.org>
Debugged-and-tested-by: Petr Mladek <pmladek@suse.com>
Reported-by: Cyril Hrubis <chrubis@suse.cz>
Reported-by: Johannes Weiner <hannes@cmpxchg.org>
Suggested-by: Michal Hocko <mhocko@kernel.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Fixes: 1ed1328792ff ("sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem")
Cc: stable@vger.kernel.org # v4.4+
---
mm/memcontrol.c | 1 -
1 file changed, 1 deletion(-)
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4859,7 +4859,6 @@ static void mem_cgroup_move_charge(struc
.mm = mm,
};
- lru_add_drain_all();
/*
* Signal lock_page_memcg() to take the memcg's move_lock
* while we're moving its pages to another memcg. Then wait

View File

@ -0,0 +1,58 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sun, 17 Apr 2016 22:59:03 +0100
Subject: module: Invalidate signatures on force-loaded modules
Forwarded: http://mid.gmane.org/20160423184501.GM3348@decadent.org.uk
Signing a module should only make it trusted by the specific kernel it
was built for, not anything else. Loading a signed module meant for a
kernel with a different ABI could have interesting effects.
Therefore, treat all signatures as invalid when a module is
force-loaded.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org
---
kernel/module.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2597,13 +2597,18 @@ static inline void kmemleak_load_module(
#endif
#ifdef CONFIG_MODULE_SIG
-static int module_sig_check(struct load_info *info)
+static int module_sig_check(struct load_info *info, int flags)
{
int err = -ENOKEY;
const unsigned long markerlen = sizeof(MODULE_SIG_STRING) - 1;
const void *mod = info->hdr;
- if (info->len > markerlen &&
+ /*
+ * Require flags == 0, as a module with version information
+ * removed is no longer the module that was signed
+ */
+ if (flags == 0 &&
+ info->len > markerlen &&
memcmp(mod + info->len - markerlen, MODULE_SIG_STRING, markerlen) == 0) {
/* We truncate the module to discard the signature */
info->len -= markerlen;
@@ -2622,7 +2627,7 @@ static int module_sig_check(struct load_
return err;
}
#else /* !CONFIG_MODULE_SIG */
-static int module_sig_check(struct load_info *info)
+static int module_sig_check(struct load_info *info, int flags)
{
return 0;
}
@@ -3429,7 +3434,7 @@ static int load_module(struct load_info
long err;
char *after_dashes;
- err = module_sig_check(info);
+ err = module_sig_check(info, flags);
if (err)
goto free_copy;

View File

@ -6,11 +6,21 @@ It is not correct to test that a syscall works on the build system's
kernel. We might be building on an earlier kernel version or with
security restrictions that block bpf().
Also fix the test for whether __NR_bpf is defined.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c
@@ -28,9 +28,5 @@ int main(void)
@@ -9,6 +9,7 @@
# define __NR_bpf 321
# elif defined(__aarch64__)
# define __NR_bpf 280
+# else
# error __NR_bpf not defined. libbpf does not support your arch.
# endif
#endif
@@ -28,9 +29,5 @@ int main(void)
attr.kern_version = 0;
attr = attr;

View File

@ -0,0 +1,33 @@
From: Paul Burton <paul.burton@imgtec.com>
Date: Thu, 21 Apr 2016 12:25:38 +0100
Subject: MIPS: Allow emulation for unaligned [LS]DXC1 instructions
Origin: https://patchwork.linux-mips.org/patch/13143/
If an address error exception occurs for a LDXC1 or SDXC1 instruction,
within the cop1x opcode space, allow it to be passed through to the FPU
emulator rather than resulting in a SIGILL. This causes LDXC1 & SDXC1 to
be handled in a manner consistent with the more common LDC1 & SDC1
instructions.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
---
arch/mips/kernel/unaligned.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index 5c62065..28b3af7 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -1191,6 +1191,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
case ldc1_op:
case swc1_op:
case sdc1_op:
+ case cop1x_op:
die_if_kernel("Unaligned FP access in kernel code", regs);
BUG_ON(!used_math());
--
2.8.0

View File

@ -0,0 +1,36 @@
From: Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: Thu, 14 Apr 2016 20:14:41 +0200
Subject: sparc: Implement and wire up modalias_show for vio.
Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/sparc.git/commit?id=36128d204b81c099b5779771127a5546eac549c9
Bug-Debian: https://bugs.debian.org/815977
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
arch/sparc/kernel/vio.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c
index cb5789c9f961..d7055609a41c 100644
--- a/arch/sparc/kernel/vio.c
+++ b/arch/sparc/kernel/vio.c
@@ -105,9 +105,18 @@ static ssize_t type_show(struct device *dev,
return sprintf(buf, "%s\n", vdev->type);
}
+static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
+ char *buf)
+{
+ const struct vio_dev *vdev = to_vio_dev(dev);
+
+ return sprintf(buf, "vio:T%sS%s\n", vdev->type, vdev->compat);
+}
+
static struct device_attribute vio_dev_attrs[] = {
__ATTR_RO(devspec),
__ATTR_RO(type),
+ __ATTR_RO(modalias),
__ATTR_NULL
};

View File

@ -0,0 +1,40 @@
From: Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: Thu, 14 Apr 2016 20:14:42 +0200
Subject: sparc: Implement and wire up vio_hotplug for vio.
Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/sparc.git/commit?id=5bde2c9be701c4583f0a9243bd46590ec401bfba
Bug-Debian: https://bugs.debian.org/815977
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
arch/sparc/kernel/vio.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c
index d7055609a41c..f6bb857254fc 100644
--- a/arch/sparc/kernel/vio.c
+++ b/arch/sparc/kernel/vio.c
@@ -45,6 +45,14 @@ static const struct vio_device_id *vio_match_device(
return NULL;
}
+static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
+{
+ const struct vio_dev *vio_dev = to_vio_dev(dev);
+
+ add_uevent_var(env, "MODALIAS=vio:T%sS%s", vio_dev->type, vio_dev->compat);
+ return 0;
+}
+
static int vio_bus_match(struct device *dev, struct device_driver *drv)
{
struct vio_dev *vio_dev = to_vio_dev(dev);
@@ -123,6 +131,7 @@ static struct device_attribute vio_dev_attrs[] = {
static struct bus_type vio_bus_type = {
.name = "vio",
.dev_attrs = vio_dev_attrs,
+ .uevent = vio_hotplug,
.match = vio_bus_match,
.probe = vio_device_probe,
.remove = vio_device_remove,

View File

@ -44,6 +44,9 @@ debian/snd-pcsp-disable-autoload.patch
bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
# Arch bug fixes
bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch
bugfix/sparc/sparc-implement-and-wire-up-modalias_show-for-vio.patch
bugfix/sparc/sparc-implement-and-wire-up-vio_hotplug-for-vio.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
@ -61,6 +64,8 @@ bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/module-invalidate-signatures-on-force-loaded-modules.patch
bugfix/all/memcg-remove-lru_add_drain_all-invocation-from-mem_cgroup_move_charge.patch
# Miscellaneous features

View File

@ -33,7 +33,7 @@ MAKE_PERF := $(MAKE) O=$(CURDIR) prefix=/usr V=1 ARCH=$(KERNEL_ARCH_PERF) EXTRA_
MAKE_PERF += NO_GTK2=1
# Include version in all directory names
MAKE_PERF += perfexecdir=lib/perf_$(VERSION)-core plugindir=/usr/lib/traceevent_$(VERSION)/plugins STRACE_GROUPS_DIR=share/perf_$(VERSION)-core/strace/groups
MAKE_PERF += perfexecdir=lib/perf_$(VERSION)-core plugindir=/usr/lib/traceevent_$(VERSION)/plugins STRACE_GROUPS_DIR=share/perf_$(VERSION)-core/strace/groups tipdir=share/doc/linux-perf-$(VERSION)
# perf can link against libbfd if available, but the result is
# undistributable as they are licenced under GPL v2 and v3+
@ -70,3 +70,5 @@ endif
mv $(DESTDIR)/etc/bash_completion.d \
$(DESTDIR)/usr/share/bash-completion/completions
rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc
# Check for unversioned files that are likely to result in file conflicts
! find $(DESTDIR) -name '*perf*' \! -path '*[_-]$(VERSION)*' | grep .

8
debian/rules.real vendored
View File

@ -311,7 +311,9 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(
@echo 'all:' >> $(DIR)/Makefile
@echo ' @$$(MAKE) $$(MAKEARGS) $$(cmd)' >> $(DIR)/Makefile
@echo 'Makefile:;' >> $(DIR)/Makefile
@echo '$$(cmd) %/: all' >> $(DIR)/Makefile
@echo '$$(cmd): all' >> $(DIR)/Makefile
@echo ' @:' >> $(DIR)/Makefile
@echo '%/: all' >> $(DIR)/Makefile
@echo ' @:' >> $(DIR)/Makefile
dh_link /usr/lib/$(PACKAGE_NAME_KBUILD)/scripts $(BASE_DIR)/scripts
@ -471,8 +473,10 @@ install-source: $(BUILD_DIR)/$(SOURCE_PACKAGE_NAME)-source-$(UPSTREAMVERSION).ta
dh_testroot
dh_installdirs /usr/src/linux-config-$(UPSTREAMVERSION)
dh_install '$^' /usr/src
# Include our kernel config files, but with the module signing
# configuration fixed to work for custom kernels.
for triplet in $(ALL_TRIPLETS); do \
xz -c $(BUILD_DIR)/build_$$triplet/.config >debian/$(PACKAGE_NAME)/usr/src/linux-config-$(UPSTREAMVERSION)/config.$$triplet.xz; \
sed '/CONFIG_\(MODULE_SIG_\(ALL\|KEY\)\|SYSTEM_TRUSTED_KEYS\)[ =]/d' $(BUILD_DIR)/build_$$triplet/.config | xz -c >debian/$(PACKAGE_NAME)/usr/src/linux-config-$(UPSTREAMVERSION)/config.$$triplet.xz; \
done
# We don't want to recompress, but -Znone is not compatible with older
# tools and is currently rejected by dak. -Zgzip -z0 (uncompressed