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:
parent
3597b68b6c
commit
e7d79407b0
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue