Update to 3.11-rc4

Drop two bug fixes applied upstream.
Adjust debian/version.patch for renaming of kernel/printk.c.

svn path=/dists/trunk/linux/; revision=20457
This commit is contained in:
Ben Hutchings 2013-08-08 08:22:45 +00:00
parent 3597b68b6c
commit e7d79407b0
5 changed files with 5 additions and 130 deletions

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
linux (3.11~rc2-1~exp1) UNRELEASED; urgency=low
linux (3.11~rc4-1~exp1) UNRELEASED; urgency=low
* New upstream release candidate

View File

@ -1,52 +0,0 @@
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 16 Jan 2013 11:33:52 -0500
Subject: xen/blkback: Check device permissions before allowing OP_DISCARD
Origin: https://git.kernel.org/cgit/linux/kernel/git/konrad/xen.git/commit?id=604c499cbbcc3d5fe5fb8d53306aa0fae1990109
We need to make sure that the device is not RO or that
the request is not past the number of sectors we want to
issue the DISCARD operation for.
This fixes CVE-2013-2140.
Cc: stable@vger.kernel.org
Acked-by: Jan Beulich <JBeulich@suse.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
[v1: Made it pr_warn instead of pr_debug]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
drivers/block/xen-blkback/blkback.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index e79ab45..4119bcd 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -876,7 +876,18 @@ static int dispatch_discard_io(struct xen_blkif *blkif,
int status = BLKIF_RSP_OKAY;
struct block_device *bdev = blkif->vbd.bdev;
unsigned long secure;
+ struct phys_req preq;
+
+ preq.sector_number = req->u.discard.sector_number;
+ preq.nr_sects = req->u.discard.nr_sectors;
+ err = xen_vbd_translate(&preq, blkif, WRITE);
+ if (err) {
+ pr_warn(DRV_PFX "access denied: DISCARD [%llu->%llu] on dev=%04x\n",
+ preq.sector_number,
+ preq.sector_number + preq.nr_sects, blkif->vbd.pdevice);
+ goto fail_response;
+ }
blkif->st_ds_req++;
xen_blkif_get(blkif);
@@ -887,7 +898,7 @@ static int dispatch_discard_io(struct xen_blkif *blkif,
err = blkdev_issue_discard(bdev, req->u.discard.sector_number,
req->u.discard.nr_sectors,
GFP_KERNEL, secure);
-
+fail_response:
if (err == -EOPNOTSUPP) {
pr_debug(DRV_PFX "discard op failed, not supported\n");
status = BLKIF_RSP_EOPNOTSUPP;

View File

@ -1,71 +0,0 @@
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Subject: Try to fix mvneta when compiled as module
Forwarded: http://thread.gmane.org/gmane.linux.network/273997
- set "sgmii serdes configuration" register to magical value
- enable clock earlier
- move timer callback after setting timer.data
[ discussions about this patch currently done with upstream ]
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -88,6 +88,8 @@
#define MVNETA_TX_IN_PRGRS BIT(1)
#define MVNETA_TX_FIFO_EMPTY BIT(8)
#define MVNETA_RX_MIN_FRAME_SIZE 0x247c
+#define MVETH_SGMII_SERDES_CFG 0x24A0
+#define MVETH_SGMII_SERDES_STAT 0x24A4
#define MVNETA_TYPE_PRIO 0x24bc
#define MVNETA_FORCE_UNI BIT(21)
#define MVNETA_TXQ_CMD_1 0x24e4
@@ -655,6 +657,9 @@ static void mvneta_port_sgmii_config(str
val = mvreg_read(pp, MVNETA_GMAC_CTRL_2);
val |= MVNETA_GMAC2_PSC_ENABLE;
mvreg_write(pp, MVNETA_GMAC_CTRL_2, val);
+
+ /* magic value from https://github.com/yellowback/ubuntu-precise-armadaxp/blob/master/arch/arm/mach-armadaxp/armada_xp_family/ctrlEnv/mvCtrlEnvLib.c:2189 */
+ mvreg_write(pp, MVETH_SGMII_SERDES_CFG, 0xcc7);
}
/* Start the Ethernet port RX and TX activity */
@@ -2728,20 +2733,10 @@ static int mvneta_probe(struct platform_
pp = netdev_priv(dev);
- pp->tx_done_timer.function = mvneta_tx_done_timer_callback;
- init_timer(&pp->tx_done_timer);
- clear_bit(MVNETA_F_TX_DONE_TIMER_BIT, &pp->flags);
-
pp->weight = MVNETA_RX_POLL_WEIGHT;
pp->phy_node = phy_node;
pp->phy_interface = phy_mode;
- pp->base = of_iomap(dn, 0);
- if (pp->base == NULL) {
- err = -ENOMEM;
- goto err_free_irq;
- }
-
pp->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(pp->clk)) {
err = PTR_ERR(pp->clk);
@@ -2765,7 +2760,16 @@ static int mvneta_probe(struct platform_
}
}
+ pp->base = of_iomap(dn, 0);
+ if (pp->base == NULL) {
+ err = -ENOMEM;
+ goto err_free_irq;
+ }
+
pp->tx_done_timer.data = (unsigned long)dev;
+ pp->tx_done_timer.function = mvneta_tx_done_timer_callback;
+ init_timer(&pp->tx_done_timer);
+ clear_bit(MVNETA_F_TX_DONE_TIMER_BIT, &pp->flags);
pp->tx_ring_size = MVNETA_MAX_TXD;
pp->rx_ring_size = MVNETA_MAX_RXD;

View File

@ -98,7 +98,7 @@ are set.
#include <asm/pgtable.h>
#include <asm/uaccess.h>
@@ -842,8 +843,9 @@ void show_regs(struct pt_regs * regs)
@@ -843,8 +844,9 @@ void show_regs(struct pt_regs * regs)
printk("NIP: "REG" LR: "REG" CTR: "REG"\n",
regs->nip, regs->link, regs->ctr);
@ -110,8 +110,8 @@ are set.
printk("MSR: "REG" ", regs->msr);
printbits(regs->msr, msr_bits);
printk(" CR: %08lx XER: %08lx\n", regs->ccr, regs->xer);
--- a/kernel/printk.c
+++ b/kernel/printk.c
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -45,6 +45,7 @@
#include <linux/poll.h>
#include <linux/irq_work.h>
@ -120,7 +120,7 @@ are set.
#include <asm/uaccess.h>
@@ -2883,11 +2884,12 @@ void __init dump_stack_set_arch_desc(con
@@ -2871,11 +2872,12 @@ void __init dump_stack_set_arch_desc(con
*/
void dump_stack_print_info(const char *log_lvl)
{

View File

@ -56,7 +56,6 @@ features/all/xen/microcode-api-update.patch
# ARM bug fixes
bugfix/arm/omap-musb-choice.patch
bugfix/arm/mvneta-module-fix.patch
# Miscellaneous bug fixes
bugfix/mips/disable-advansys.patch
@ -67,7 +66,6 @@ bugfix/all/ath6kl-do-not-use-virt_addr_valid.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/all/misc-bmp085-Enable-building-as-a-module.patch
bugfix/all/xen-blkback-Check-device-permissions-before-allowing.patch
# ARM hardware support
features/arm/imx53-qsb-usb-power.patch