Update to 3.10.7
svn path=/dists/sid/linux/; revision=20496
This commit is contained in:
parent
cc3748ad46
commit
751bd8474e
|
@ -1,4 +1,68 @@
|
||||||
linux (3.10.5-2) UNRELEASED; urgency=low
|
linux (3.10.7-1) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* New upstream stable update:
|
||||||
|
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.6
|
||||||
|
- [arm] Modify vectors page to defend against ROP buffer overflow attacks
|
||||||
|
- [armel] 7790/1: Fix deferred mm switch on VIVT processors
|
||||||
|
- [armel] 7791/1: a.out: remove partial a.out support
|
||||||
|
- [powerpc] VPHN topology change updates all siblings
|
||||||
|
- hwmon: (max6697) fix MAX6581 ideality
|
||||||
|
- USB: mos7840: fix race in register handling
|
||||||
|
- USB: mos7840: fix race in led handling
|
||||||
|
- mac80211: fix duplicate retransmission detection
|
||||||
|
- mac80211: fix ethtool stats for non-station interfaces
|
||||||
|
- ixgbe: Fix Tx Hang issue with lldpad on 82598EB
|
||||||
|
- Bluetooth: ath3k: don't use stack memory for DMA
|
||||||
|
- Bluetooth: fix wrong use of PTR_ERR() in btusb
|
||||||
|
- svcrpc: fix gss-proxy xdr decoding oops
|
||||||
|
- svcrpc: fix gss_rpc_upcall create error
|
||||||
|
- svcrpc: fix kfree oops in gss-proxy code
|
||||||
|
- zram: avoid invalid memory access in zram_exit()
|
||||||
|
- zram: use zram->lock to protect zram_free_page() in swap free notify path
|
||||||
|
- zram: avoid double free in function zram_bvec_write()
|
||||||
|
- zram: avoid access beyond the zram device
|
||||||
|
- zram: protect sysfs handler from invalid memory access
|
||||||
|
- Revert "cpuidle: Quickly notice prediction failure in general case"
|
||||||
|
- cpufreq: Fix cpufreq driver module refcount balance after suspend/resume
|
||||||
|
- Revert "cpuidle: Quickly notice prediction failure for repeat mode"
|
||||||
|
- drm/radeon: Disable dma rings for bo moves on r6xx
|
||||||
|
- xen-blkfront: use a different scatterlist for each request
|
||||||
|
- drm/radeon: never unpin UVD bo v3
|
||||||
|
- Btrfs: fix crash regarding to ulist_add_merge
|
||||||
|
- [s390] bitops: fix find_next_bit_left
|
||||||
|
- ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup
|
||||||
|
- usbnet: do not pretend to support SG/TSO
|
||||||
|
- net_sched: Fix stack info leak in cbq_dump_wrr().
|
||||||
|
- af_key: more info leaks in pfkey messages
|
||||||
|
- net_sched: info leak in atm_tc_dump_class()
|
||||||
|
- 8139cp: Add dma_mapping_error checking
|
||||||
|
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.7
|
||||||
|
- [powerpc] Save the TAR register earlier
|
||||||
|
- [powerpc] tm: Fix context switching TAR, PPR and DSCR SPRs
|
||||||
|
- ext4: make sure group number is bumped after a inode allocation race
|
||||||
|
- regmap: cache: Make sure to sync the last register in a block
|
||||||
|
- hwmon: (adt7470) Fix incorrect return code check
|
||||||
|
- media: em28xx: fix assignment of the eeprom data
|
||||||
|
- ACPI / PM: Walk physical_node_list under physical_node_lock
|
||||||
|
- ALSA: 6fire: fix DMA issues with URB transfer_buffer usage
|
||||||
|
- Btrfs: release both paths before logging dir/changed extents
|
||||||
|
- LOCKD: Don't call utsname()->nodename from nlmclnt_setlockargs
|
||||||
|
- SUNRPC: Don't auto-disconnect from the local rpcbind socket
|
||||||
|
- SUNRPC: If the rpcbind channel is disconnected, fail the call to
|
||||||
|
unregister
|
||||||
|
- virtio/console: Quit from splice_write if pipe->nrbufs is 0
|
||||||
|
- virtio/console: Add pipe_lock/unlock for splice_write
|
||||||
|
- virtio: console: fix race with port unplug and open/close
|
||||||
|
- virtio: console: fix race in port_fops_open() and port unplug
|
||||||
|
- virtio: console: clean up port data immediately at time of unplug
|
||||||
|
- virtio: console: fix raising SIGIO after port unplug
|
||||||
|
- virtio: console: return -ENODEV on all read operations after unplug
|
||||||
|
- drm/radeon: stop sending invalid UVD destroy msg
|
||||||
|
- ext4: flush the extent status cache during EXT4_IOC_SWAP_BOOT
|
||||||
|
- cifs: extend the buffer length enought for sprintf() using
|
||||||
|
- zram: allow request end to coincide with disksize
|
||||||
|
- reiserfs: fix deadlock in umount
|
||||||
|
- [x86] drm/i915: initialize gt_lock early with other spin locks
|
||||||
|
|
||||||
[ Ben Hutchings ]
|
[ Ben Hutchings ]
|
||||||
* [x86] Enable ASUS_OLED as module (Closes: #680016)
|
* [x86] Enable ASUS_OLED as module (Closes: #680016)
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
From: "Martin K. Petersen" <martin.petersen@oracle.com>
|
|
||||||
Date: Tue, 30 Jul 2013 22:58:34 -0400
|
|
||||||
Subject: [SCSI] Don't attempt to send extended INQUIRY command if
|
|
||||||
skip_vpd_pages is set
|
|
||||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/jejb/scsi.git/commit?id=7562523e84ddc742fe1f9db8bd76b01acca89f6b
|
|
||||||
Bug-Debian: http://bugs.debian.org/719002
|
|
||||||
|
|
||||||
If a device has the skip_vpd_pages flag set we should simply fail the
|
|
||||||
scsi_get_vpd_page() call.
|
|
||||||
|
|
||||||
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
||||||
Acked-by: Alan Stern <stern@rowland.harvard.edu>
|
|
||||||
Tested-by: Stuart Foster <smf.linux@ntlworld.com>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
|
|
||||||
---
|
|
||||||
drivers/scsi/scsi.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
|
|
||||||
index 3b1ea34..eaa808e 100644
|
|
||||||
--- a/drivers/scsi/scsi.c
|
|
||||||
+++ b/drivers/scsi/scsi.c
|
|
||||||
@@ -1031,6 +1031,9 @@ int scsi_get_vpd_page(struct scsi_device *sdev, u8 page, unsigned char *buf,
|
|
||||||
{
|
|
||||||
int i, result;
|
|
||||||
|
|
||||||
+ if (sdev->skip_vpd_pages)
|
|
||||||
+ goto fail;
|
|
||||||
+
|
|
||||||
/* Ask for all the pages supported by this device */
|
|
||||||
result = scsi_vpd_inquiry(sdev, buf, 0, buf_len);
|
|
||||||
if (result)
|
|
|
@ -1,131 +0,0 @@
|
||||||
From: Eric Dumazet <edumazet@google.com>
|
|
||||||
Date: Mon, 29 Jul 2013 10:24:04 -0700
|
|
||||||
Subject: atl1c: Fix misuse of netdev_alloc_skb in refilling rx ring
|
|
||||||
Origin: https://git.kernel.org/linus/7b70176421993866e616f1cbc4d0dd4054f1bf78
|
|
||||||
|
|
||||||
On Mon, 2013-07-29 at 08:30 -0700, Eric Dumazet wrote:
|
|
||||||
> On Mon, 2013-07-29 at 13:09 +0100, Luis Henriques wrote:
|
|
||||||
>
|
|
||||||
> >
|
|
||||||
> > I confirm that I can't reproduce the issue using this patch.
|
|
||||||
> >
|
|
||||||
>
|
|
||||||
> Thanks, I'll send a polished patch, as this one had an error if
|
|
||||||
> build_skb() returns NULL (in case sk_buff allocation fails)
|
|
||||||
|
|
||||||
Please try the following patch : It should use 2K frags instead of 4K
|
|
||||||
for normal 1500 mtu
|
|
||||||
|
|
||||||
Thanks !
|
|
||||||
|
|
||||||
[PATCH] atl1c: use custom skb allocator
|
|
||||||
|
|
||||||
We had reports ( https://bugzilla.kernel.org/show_bug.cgi?id=54021 )
|
|
||||||
that using high order pages for skb allocations is problematic for atl1c
|
|
||||||
|
|
||||||
We do not know exactly what the problem is, but we suspect that crossing
|
|
||||||
4K pages is not well supported by this hardware.
|
|
||||||
|
|
||||||
Use a custom allocator, using page allocator and 2K fragments for
|
|
||||||
optimal stack behavior. We might make this allocator generic
|
|
||||||
in future kernels.
|
|
||||||
|
|
||||||
Signed-off-by: Eric Dumazet <edumazet@google.com>
|
|
||||||
Cc: Luis Henriques <luis.henriques@canonical.com>
|
|
||||||
Cc: Neil Horman <nhorman@tuxdriver.com>
|
|
||||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
||||||
---
|
|
||||||
drivers/net/ethernet/atheros/atl1c/atl1c.h | 3 ++
|
|
||||||
drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 40 ++++++++++++++++++++++++-
|
|
||||||
2 files changed, 42 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c.h b/drivers/net/ethernet/atheros/atl1c/atl1c.h
|
|
||||||
index b2bf324..0f05565 100644
|
|
||||||
--- a/drivers/net/ethernet/atheros/atl1c/atl1c.h
|
|
||||||
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c.h
|
|
||||||
@@ -520,6 +520,9 @@ struct atl1c_adapter {
|
|
||||||
struct net_device *netdev;
|
|
||||||
struct pci_dev *pdev;
|
|
||||||
struct napi_struct napi;
|
|
||||||
+ struct page *rx_page;
|
|
||||||
+ unsigned int rx_page_offset;
|
|
||||||
+ unsigned int rx_frag_size;
|
|
||||||
struct atl1c_hw hw;
|
|
||||||
struct atl1c_hw_stats hw_stats;
|
|
||||||
struct mii_if_info mii; /* MII interface info */
|
|
||||||
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
|
|
||||||
index 786a874..a36a760 100644
|
|
||||||
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
|
|
||||||
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
|
|
||||||
@@ -481,10 +481,15 @@ static int atl1c_set_mac_addr(struct net_device *netdev, void *p)
|
|
||||||
static void atl1c_set_rxbufsize(struct atl1c_adapter *adapter,
|
|
||||||
struct net_device *dev)
|
|
||||||
{
|
|
||||||
+ unsigned int head_size;
|
|
||||||
int mtu = dev->mtu;
|
|
||||||
|
|
||||||
adapter->rx_buffer_len = mtu > AT_RX_BUF_SIZE ?
|
|
||||||
roundup(mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN, 8) : AT_RX_BUF_SIZE;
|
|
||||||
+
|
|
||||||
+ head_size = SKB_DATA_ALIGN(adapter->rx_buffer_len + NET_SKB_PAD) +
|
|
||||||
+ SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
|
|
||||||
+ adapter->rx_frag_size = roundup_pow_of_two(head_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
static netdev_features_t atl1c_fix_features(struct net_device *netdev,
|
|
||||||
@@ -952,6 +957,10 @@ static void atl1c_free_ring_resources(struct atl1c_adapter *adapter)
|
|
||||||
kfree(adapter->tpd_ring[0].buffer_info);
|
|
||||||
adapter->tpd_ring[0].buffer_info = NULL;
|
|
||||||
}
|
|
||||||
+ if (adapter->rx_page) {
|
|
||||||
+ put_page(adapter->rx_page);
|
|
||||||
+ adapter->rx_page = NULL;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -1639,6 +1648,35 @@ static inline void atl1c_rx_checksum(struct atl1c_adapter *adapter,
|
|
||||||
skb_checksum_none_assert(skb);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static struct sk_buff *atl1c_alloc_skb(struct atl1c_adapter *adapter)
|
|
||||||
+{
|
|
||||||
+ struct sk_buff *skb;
|
|
||||||
+ struct page *page;
|
|
||||||
+
|
|
||||||
+ if (adapter->rx_frag_size > PAGE_SIZE)
|
|
||||||
+ return netdev_alloc_skb(adapter->netdev,
|
|
||||||
+ adapter->rx_buffer_len);
|
|
||||||
+
|
|
||||||
+ page = adapter->rx_page;
|
|
||||||
+ if (!page) {
|
|
||||||
+ adapter->rx_page = page = alloc_page(GFP_ATOMIC);
|
|
||||||
+ if (unlikely(!page))
|
|
||||||
+ return NULL;
|
|
||||||
+ adapter->rx_page_offset = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ skb = build_skb(page_address(page) + adapter->rx_page_offset,
|
|
||||||
+ adapter->rx_frag_size);
|
|
||||||
+ if (likely(skb)) {
|
|
||||||
+ adapter->rx_page_offset += adapter->rx_frag_size;
|
|
||||||
+ if (adapter->rx_page_offset >= PAGE_SIZE)
|
|
||||||
+ adapter->rx_page = NULL;
|
|
||||||
+ else
|
|
||||||
+ get_page(page);
|
|
||||||
+ }
|
|
||||||
+ return skb;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter)
|
|
||||||
{
|
|
||||||
struct atl1c_rfd_ring *rfd_ring = &adapter->rfd_ring;
|
|
||||||
@@ -1660,7 +1698,7 @@ static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter)
|
|
||||||
while (next_info->flags & ATL1C_BUFFER_FREE) {
|
|
||||||
rfd_desc = ATL1C_RFD_DESC(rfd_ring, rfd_next_to_use);
|
|
||||||
|
|
||||||
- skb = netdev_alloc_skb(adapter->netdev, adapter->rx_buffer_len);
|
|
||||||
+ skb = atl1c_alloc_skb(adapter);
|
|
||||||
if (unlikely(!skb)) {
|
|
||||||
if (netif_msg_rx_err(adapter))
|
|
||||||
dev_warn(&pdev->dev, "alloc rx buffer failed\n");
|
|
|
@ -1,21 +0,0 @@
|
||||||
From: Theodore Ts'o <tytso@mit.edu>
|
|
||||||
Date: Mon, 29 Jul 2013 16:12:56 +0000
|
|
||||||
Subject: ext4: fix retry handling in ext4_ext_truncate()
|
|
||||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/tytso/ext4.git/commit/?id=94eec0fc3520c759831763d866421b4d60b599b4
|
|
||||||
|
|
||||||
We tested for ENOMEM instead of -ENOMEM. Oops.
|
|
||||||
|
|
||||||
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
---
|
|
||||||
--- a/fs/ext4/extents.c
|
|
||||||
+++ b/fs/ext4/extents.c
|
|
||||||
@@ -4389,7 +4389,7 @@ void ext4_ext_truncate(handle_t *handle,
|
|
||||||
retry:
|
|
||||||
err = ext4_es_remove_extent(inode, last_block,
|
|
||||||
EXT_MAX_BLOCKS - last_block);
|
|
||||||
- if (err == ENOMEM) {
|
|
||||||
+ if (err == -ENOMEM) {
|
|
||||||
cond_resched();
|
|
||||||
congestion_wait(BLK_RW_ASYNC, HZ/50);
|
|
||||||
goto retry;
|
|
|
@ -1,26 +0,0 @@
|
||||||
From: Dan Carpenter <dan.carpenter@oracle.com>
|
|
||||||
Date: Wed, 19 Jun 2013 10:05:29 +1000
|
|
||||||
Subject: fanotify: info leak in copy_event_to_user()
|
|
||||||
Origin: http://www.ozlabs.org/~akpm/mmotm/broken-out/fanotify-info-leak-in-copy_event_to_user.patch
|
|
||||||
|
|
||||||
The ->reserverd field isn't cleared so we leak one byte of stack
|
|
||||||
information to userspace.
|
|
||||||
|
|
||||||
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
|
|
||||||
Cc: Eric Paris <eparis@redhat.com>
|
|
||||||
Cc: Al Viro <viro@zeniv.linux.org.uk>
|
|
||||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|
||||||
---
|
|
||||||
fs/notify/fanotify/fanotify_user.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
--- a/fs/notify/fanotify/fanotify_user.c
|
|
||||||
+++ b/fs/notify/fanotify/fanotify_user.c
|
|
||||||
@@ -121,6 +121,7 @@ static int fill_event_metadata(struct fs
|
|
||||||
metadata->event_len = FAN_EVENT_METADATA_LEN;
|
|
||||||
metadata->metadata_len = FAN_EVENT_METADATA_LEN;
|
|
||||||
metadata->vers = FANOTIFY_METADATA_VERSION;
|
|
||||||
+ metadata->reserved = 0;
|
|
||||||
metadata->mask = event->mask & FAN_ALL_OUTGOING_EVENTS;
|
|
||||||
metadata->pid = pid_vnr(event->tgid);
|
|
||||||
if (unlikely(event->mask & FAN_Q_OVERFLOW))
|
|
|
@ -70,7 +70,6 @@ bugfix/all/ath6kl-do-not-use-virt_addr_valid.patch
|
||||||
features/all/cpu-devices/Partially-revert-cpufreq-Add-support-for-x86-cpuinfo.patch
|
features/all/cpu-devices/Partially-revert-cpufreq-Add-support-for-x86-cpuinfo.patch
|
||||||
bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
|
bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
|
||||||
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
|
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
|
||||||
bugfix/all/fanotify-info-leak-in-copy_event_to_user.patch
|
|
||||||
|
|
||||||
# ARM hardware support
|
# ARM hardware support
|
||||||
features/arm/ARM-dts-imx-add-imx5x-usbmisc-entries.patch
|
features/arm/ARM-dts-imx-add-imx5x-usbmisc-entries.patch
|
||||||
|
@ -111,9 +110,6 @@ features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch
|
||||||
bugfix/m68k/ethernat-kconfig.patch
|
bugfix/m68k/ethernat-kconfig.patch
|
||||||
|
|
||||||
bugfix/all/nl80211-fix-another-nl80211_fam-attrbuf-race.patch
|
bugfix/all/nl80211-fix-another-nl80211_fam-attrbuf-race.patch
|
||||||
bugfix/all/ext4-fix-retry-handling-in-ext4_ext_truncate.patch
|
|
||||||
bugfix/all/atl1c-Fix-misuse-of-netdev_alloc_skb-in-refilling-rx.patch
|
|
||||||
bugfix/all/SCSI-Don-t-attempt-to-send-extended-INQUIRY-command-.patch
|
|
||||||
|
|
||||||
# m68k IRQ bugfix
|
# m68k IRQ bugfix
|
||||||
bugfix/m68k/atari-irqs.patch
|
bugfix/m68k/atari-irqs.patch
|
||||||
|
|
Loading…
Reference in New Issue