Unable to Handle Kernel Paging Request at ffff00032b0c2000

Aziz Abdullahi azizabdullahi1 at gmail.com
Wed Oct 30 03:26:19 UTC 2013


Good Evening,

Few days ago my machine crashed and i got error noted in subject line. I
was installing Cisco Call Manager on Vmware work station. I googled around
but nothing specific. Please tell me what it means, and if this is one time
issue. Haven't seen it before, and this about twentieth time am doing this
type of installation.

After power cycling everything istalled and i have 4 Call Manager running
on this ubuntu machine.

Attached are additionally screen shots of the incident.

Thanks for all your help.


On Tue, Oct 29, 2013 at 1:55 PM, <kernel-team-request at lists.ubuntu.com>wrote:

> Send kernel-team mailing list submissions to
>         kernel-team at lists.ubuntu.com
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.ubuntu.com/mailman/listinfo/kernel-team
> or, via email, send a message with subject or body 'help' to
>         kernel-team-request at lists.ubuntu.com
>
> You can reach the person managing the list at
>         kernel-team-owner at lists.ubuntu.com
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of kernel-team digest..."
>
>
> Today's Topics:
>
>    1. [3.8.y.z extended stable] Patch "serial: vt8500: add missing
>       braces" has been added to staging queue (Kamal Mostafa)
>    2. [3.8.y.z extended stable] Patch "USB: serial:
>       ti_usb_3410_5052: add Abbott strip port ID to combined" has been
>       added to staging queue (Kamal Mostafa)
>    3. [3.8.y.z extended stable] Patch "xhci: Fix spurious wakeups
>       after S5 on Haswell" has been added to staging queue (Kamal Mostafa)
>    4. [3.8.y.z extended stable] Patch "USB: serial: option: add
>       support for Inovia SEW858 device" has been added to staging queue
>       (Kamal Mostafa)
>    5. [3.8.y.z extended stable] Patch "USB: quirks.c: add one
>       device that cannot deal with suspension" has been added to
>       staging queue (Kamal Mostafa)
>    6. [3.8.y.z extended stable] Patch "dm snapshot: fix data
>       corruption" has been added to staging queue (Kamal Mostafa)
>    7. [3.8.y.z extended stable] Patch "usb-storage: add quirk for
>       mandatory READ_CAPACITY_16" has been added to staging queue
>       (Kamal Mostafa)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 29 Oct 2013 10:54:49 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Roel Kluin <roel.kluin at gmail.com>
> Cc: Tony Prisk <linux at prisktech.co.nz>, Greg Kroah-Hartman
>         <gregkh at linuxfoundation.org>, Kamal Mostafa <kamal at canonical.com>,
>         kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "serial: vt8500: add missing
>         braces" has been added to staging queue
> Message-ID: <1383069289-10735-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     serial: vt8500: add missing braces
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From c6386a20bd96755123801517b22aad4d1124b8e7 Mon Sep 17 00:00:00 2001
> From: Roel Kluin <roel.kluin at gmail.com>
> Date: Mon, 14 Oct 2013 23:21:15 +0200
> Subject: serial: vt8500: add missing braces
>
> commit d969de8d83401683420638c8107dcfedb2146f37 upstream.
>
> Due to missing braces on an if statement, in presence of a device_node a
> port was always assigned -1, regardless of any alias entries in the
> device tree. Conversely, if device_node was NULL, an unitialized port
> ended up being used.
>
> This patch adds the missing braces, fixing the issues.
>
> Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
> Acked-by: Tony Prisk <linux at prisktech.co.nz>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/tty/serial/vt8500_serial.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/serial/vt8500_serial.c
> b/drivers/tty/serial/vt8500_serial.c
> index 90b837f..7e713cf 100644
> --- a/drivers/tty/serial/vt8500_serial.c
> +++ b/drivers/tty/serial/vt8500_serial.c
> @@ -567,12 +567,13 @@ static int vt8500_serial_probe(struct
> platform_device *pdev)
>         if (!mmres || !irqres)
>                 return -ENODEV;
>
> -       if (np)
> +       if (np) {
>                 port = of_alias_get_id(np, "serial");
>                 if (port >= VT8500_MAX_PORTS)
>                         port = -1;
> -       else
> +       } else {
>                 port = -1;
> +       }
>
>         if (port < 0) {
>                 /* calculate the port id */
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 29 Oct 2013 10:54:47 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Diego Elio Petten? <flameeyes at flameeyes.eu>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>, Kamal Mostafa
>         <kamal at canonical.com>, kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "USB: serial:
>         ti_usb_3410_5052: add Abbott strip port ID to combined" has been
> added
>         to staging queue
> Message-ID: <1383069287-10423-1-git-send-email-kamal at canonical.com>
> Content-Type: text/plain; charset=UTF-8
>
> This is a note to let you know that I have just added a patch titled
>
>     USB: serial: ti_usb_3410_5052: add Abbott strip port ID to combined
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From 1f62c19485fe7282003afde5eacb321d89019acf Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes at flameeyes.eu>
> Date: Tue, 8 Oct 2013 20:03:37 +0100
> Subject: USB: serial: ti_usb_3410_5052: add Abbott strip port ID to
> combined
>  table as well.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> commit c9d09dc7ad106492c17c587b6eeb99fe3f43e522 upstream.
>
> Without this change, the USB cable for Freestyle Option and compatible
> glucometers will not be detected by the driver.
>
> Signed-off-by: Diego Elio Petten? <flameeyes at flameeyes.eu>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/usb/serial/ti_usb_3410_5052.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/serial/ti_usb_3410_5052.c
> b/drivers/usb/serial/ti_usb_3410_5052.c
> index a0a2064..3176f90 100644
> --- a/drivers/usb/serial/ti_usb_3410_5052.c
> +++ b/drivers/usb/serial/ti_usb_3410_5052.c
> @@ -209,6 +209,7 @@ static struct usb_device_id
> ti_id_table_combined[19+2*TI_EXTRA_VID_PID_COUNT+1]
>         { USB_DEVICE(IBM_VENDOR_ID, IBM_454B_PRODUCT_ID) },
>         { USB_DEVICE(IBM_VENDOR_ID, IBM_454C_PRODUCT_ID) },
>         { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_PRODUCT_ID) },
> +       { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_STRIP_PORT_ID) },
>         { USB_DEVICE(TI_VENDOR_ID, FRI2_PRODUCT_ID) },
>         { }
>  };
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 3
> Date: Tue, 29 Oct 2013 10:54:46 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Takashi Iwai <tiwai at suse.de>
> Cc: Sarah Sharp <sarah.a.sharp at linux.intel.com>, Oliver Neukum
>         <oneukum at suse.de>, Kamal Mostafa <kamal at canonical.com>,
>         kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "xhci: Fix spurious wakeups
>         after S5 on Haswell" has been added to staging queue
> Message-ID: <1383069286-10345-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     xhci: Fix spurious wakeups after S5 on Haswell
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From c14cc99bb0b20e54701143cf38dfbd887ce0fbe1 Mon Sep 17 00:00:00 2001
> From: Takashi Iwai <tiwai at suse.de>
> Date: Thu, 12 Sep 2013 08:11:06 +0200
> Subject: xhci: Fix spurious wakeups after S5 on Haswell
>
> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016 upstream.
>
> Haswell LynxPoint and LynxPoint-LP with the recent Intel BIOS show
> mysterious wakeups after shutdown occasionally.  After discussing with
> BIOS engineers, they explained that the new BIOS expects that the
> wakeup sources are cleared and set to D3 for all wakeup devices when
> the system is going to sleep or power off, but the current xhci driver
> doesn't do this properly (partly intentionally).
>
> This patch introduces a new quirk, XHCI_SPURIOUS_WAKEUP, for
> fixing the spurious wakeups at S5 by calling xhci_reset() in the xhci
> shutdown ops as done in xhci_stop(), and setting the device to PCI D3
> at shutdown and remove ops.
>
> The PCI D3 call is based on the initial fix patch by Oliver Neukum.
>
> [Note: Sarah changed the quirk name from XHCI_HSW_SPURIOUS_WAKEUP to
> XHCI_SPURIOUS_WAKEUP, since none of the other quirks have system names
> in them.  Sarah also fixed a collision with a quirk submitted around the
> same time, by changing the xhci->quirks bit from 17 to 18.]
>
> This patch should be backported to kernels as old as 3.0, that
> contain the commit 1c12443ab8eba71a658fae4572147e56d1f84f66 "xhci: Add
> Lynx Point to list of Intel switchable hosts."
>
> Cc: Oliver Neukum <oneukum at suse.de>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
> [ kamal: backport to 3.8 (context) ]
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/usb/host/xhci-pci.c | 17 +++++++++++++++++
>  drivers/usb/host/xhci.c     |  7 +++++++
>  drivers/usb/host/xhci.h     |  1 +
>  3 files changed, 25 insertions(+)
>
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 2f44259..ab4b0be 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -34,6 +34,9 @@
>  #define PCI_VENDOR_ID_ETRON            0x1b6f
>  #define PCI_DEVICE_ID_ASROCK_P67       0x7023
>
> +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI     0x8c31
> +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI  0x9c31
> +
>  static const char hcd_name[] = "xhci_hcd";
>
>  /* called after powerup, by probe or system-pm "wakeup" */
> @@ -114,6 +117,15 @@ static void xhci_pci_quirks(struct device *dev,
> struct xhci_hcd *xhci)
>                 xhci->quirks |= XHCI_SPURIOUS_REBOOT;
>                 xhci->quirks |= XHCI_AVOID_BEI;
>         }
> +       if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
> +           (pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI ||
> +            pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI)) {
> +               /* Workaround for occasional spurious wakeups from S5 (or
> +                * any other sleep) on Haswell machines with LPT and LPT-LP
> +                * with the new Intel BIOS
> +                */
> +               xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
> +       }
>         if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
>                         pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
>                 xhci->quirks |= XHCI_RESET_ON_RESUME;
> @@ -220,6 +232,11 @@ static void xhci_pci_remove(struct pci_dev *dev)
>                 usb_put_hcd(xhci->shared_hcd);
>         }
>         usb_hcd_pci_remove(dev);
> +
> +       /* Workaround for spurious wakeups at shutdown with HSW */
> +       if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
> +               pci_set_power_state(dev, PCI_D3hot);
> +
>         kfree(xhci);
>  }
>
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index dd7a138..4bade57 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -776,12 +776,19 @@ void xhci_shutdown(struct usb_hcd *hcd)
>
>         spin_lock_irq(&xhci->lock);
>         xhci_halt(xhci);
> +       /* Workaround for spurious wakeups at shutdown with HSW */
> +       if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
> +               xhci_reset(xhci);
>         spin_unlock_irq(&xhci->lock);
>
>         xhci_cleanup_msix(xhci);
>
>         xhci_dbg(xhci, "xhci_shutdown completed - status = %x\n",
>                     xhci_readl(xhci, &xhci->op_regs->status));
> +
> +       /* Yet another workaround for spurious wakeups at shutdown with
> HSW */
> +       if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
> +               pci_set_power_state(to_pci_dev(hcd->self.controller),
> PCI_D3hot);
>  }
>
>  #ifdef CONFIG_PM
> diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
> index 26f9277..ba214ae 100644
> --- a/drivers/usb/host/xhci.h
> +++ b/drivers/usb/host/xhci.h
> @@ -1518,6 +1518,7 @@ struct xhci_hcd {
>  #define XHCI_AVOID_BEI         (1 << 15)
>  #define XHCI_PLAT              (1 << 16)
>  #define XHCI_SLOW_SUSPEND      (1 << 17)
> +#define XHCI_SPURIOUS_WAKEUP   (1 << 18)
>         unsigned int            num_active_eps;
>         unsigned int            limit_active_eps;
>         /* There are two roothubs to keep track of bus suspend info for */
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 29 Oct 2013 10:54:47 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Cc: Kamal Mostafa <kamal at canonical.com>, kernel-team at lists.ubuntu.com,
>         Pavel Parkhomenko <ra85551 at gmail.com>
> Subject: [3.8.y.z extended stable] Patch "USB: serial: option: add
>         support for Inovia SEW858 device" has been added to staging queue
> Message-ID: <1383069287-10463-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     USB: serial: option: add support for Inovia SEW858 device
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From c1fcc3740e19b52316a15c6cf588d0d7e3be9446 Mon Sep 17 00:00:00 2001
> From: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Date: Sat, 5 Oct 2013 18:14:18 -0700
> Subject: USB: serial: option: add support for Inovia SEW858 device
>
> commit f4c19b8e165cff1a6607c21f8809441d61cab7ec upstream.
>
> This patch adds the device id for the Inovia SEW858 device to the option
> driver.
>
> Reported-by: Pavel Parkhomenko <ra85551 at gmail.com>
> Tested-by: Pavel Parkhomenko <ra85551 at gmail.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/usb/serial/option.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index e26b390..0841ac3 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -451,6 +451,10 @@ static void option_instat_callback(struct urb *urb);
>  #define CHANGHONG_VENDOR_ID                    0x2077
>  #define CHANGHONG_PRODUCT_CH690                        0x7001
>
> +/* Inovia */
> +#define INOVIA_VENDOR_ID                       0x20a6
> +#define INOVIA_SEW858                          0x1105
> +
>  /* some devices interfaces need special handling due to a number of
> reasons */
>  enum option_blacklist_reason {
>                 OPTION_BLACKLIST_NONE = 0,
> @@ -1561,6 +1565,7 @@ static const struct usb_device_id option_ids[] = {
>         { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d03, 0xff, 0x00, 0x00)
> },
>         { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff)
> }, /* D-Link DWM-152/C1 */
>         { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff)
> }, /* D-Link DWM-156/C1 */
> +       { USB_DEVICE(INOVIA_VENDOR_ID, INOVIA_SEW858) },
>         { } /* Terminating entry */
>  };
>  MODULE_DEVICE_TABLE(usb, option_ids);
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 5
> Date: Tue, 29 Oct 2013 10:54:48 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Oliver Neukum <oneukum at suse.de>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>, Kamal Mostafa
>         <kamal at canonical.com>, kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "USB: quirks.c: add one
>         device that cannot deal with suspension" has been added to staging
>         queue
> Message-ID: <1383069288-10540-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     USB: quirks.c: add one device that cannot deal with suspension
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From 964efaa60186106625c23ca73d07c2fa5d3aa08c Mon Sep 17 00:00:00 2001
> From: Oliver Neukum <oneukum at suse.de>
> Date: Mon, 14 Oct 2013 16:22:40 +0200
> Subject: USB: quirks.c: add one device that cannot deal with suspension
>
> commit 4294bca7b423d1a5aa24307e3d112a04075e3763 upstream.
>
> The device is not responsive when resumed, unless it is reset.
>
> Signed-off-by: Oliver Neukum <oneukum at suse.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/usb/core/quirks.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index be54c80..b9d9302 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -130,6 +130,9 @@ static const struct usb_device_id usb_quirk_list[] = {
>         /* Broadcom BCM92035DGROM BT dongle */
>         { USB_DEVICE(0x0a5c, 0x2021), .driver_info =
> USB_QUIRK_RESET_RESUME },
>
> +       /* MAYA44USB sound device */
> +       { USB_DEVICE(0x0a92, 0x0091), .driver_info =
> USB_QUIRK_RESET_RESUME },
> +
>         /* Action Semiconductor flash disk */
>         { USB_DEVICE(0x10d6, 0x2200), .driver_info =
>                         USB_QUIRK_STRING_FETCH_255 },
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 6
> Date: Tue, 29 Oct 2013 10:54:48 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Mikulas Patocka <mpatocka at redhat.com>
> Cc: Kamal Mostafa <kamal at canonical.com>, Alasdair G Kergon
>         <agk at redhat.com>, Mike Snitzer <snitzer at redhat.com>,
>         kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "dm snapshot: fix data
>         corruption" has been added to staging queue
> Message-ID: <1383069288-10618-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     dm snapshot: fix data corruption
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From 0fe257a24eeaccbbd0d81b6f65c3924129dded57 Mon Sep 17 00:00:00 2001
> From: Mikulas Patocka <mpatocka at redhat.com>
> Date: Wed, 16 Oct 2013 03:17:47 +0100
> Subject: dm snapshot: fix data corruption
>
> commit e9c6a182649f4259db704ae15a91ac820e63b0ca upstream.
>
> This patch fixes a particular type of data corruption that has been
> encountered when loading a snapshot's metadata from disk.
>
> When we allocate a new chunk in persistent_prepare, we increment
> ps->next_free and we make sure that it doesn't point to a metadata area
> by further incrementing it if necessary.
>
> When we load metadata from disk on device activation, ps->next_free is
> positioned after the last used data chunk. However, if this last used
> data chunk is followed by a metadata area, ps->next_free is positioned
> erroneously to the metadata area. A newly-allocated chunk is placed at
> the same location as the metadata area, resulting in data or metadata
> corruption.
>
> This patch changes the code so that ps->next_free skips the metadata
> area when metadata are loaded in function read_exceptions.
>
> The patch also moves a piece of code from persistent_prepare_exception
> to a separate function skip_metadata to avoid code duplication.
>
> CVE-2013-4299
>
> Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
> Cc: Mike Snitzer <snitzer at redhat.com>
> Signed-off-by: Alasdair G Kergon <agk at redhat.com>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/md/dm-snap-persistent.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/md/dm-snap-persistent.c
> b/drivers/md/dm-snap-persistent.c
> index 4caa8e6..2d2b1b7 100644
> --- a/drivers/md/dm-snap-persistent.c
> +++ b/drivers/md/dm-snap-persistent.c
> @@ -269,6 +269,14 @@ static chunk_t area_location(struct pstore *ps,
> chunk_t area)
>         return NUM_SNAPSHOT_HDR_CHUNKS + ((ps->exceptions_per_area + 1) *
> area);
>  }
>
> +static void skip_metadata(struct pstore *ps)
> +{
> +       uint32_t stride = ps->exceptions_per_area + 1;
> +       chunk_t next_free = ps->next_free;
> +       if (sector_div(next_free, stride) == NUM_SNAPSHOT_HDR_CHUNKS)
> +               ps->next_free++;
> +}
> +
>  /*
>   * Read or write a metadata area.  Remembering to skip the first
>   * chunk which holds the header.
> @@ -502,6 +510,8 @@ static int read_exceptions(struct pstore *ps,
>
>         ps->current_area--;
>
> +       skip_metadata(ps);
> +
>         return 0;
>  }
>
> @@ -616,8 +626,6 @@ static int persistent_prepare_exception(struct
> dm_exception_store *store,
>                                         struct dm_exception *e)
>  {
>         struct pstore *ps = get_info(store);
> -       uint32_t stride;
> -       chunk_t next_free;
>         sector_t size = get_dev_size(dm_snap_cow(store->snap)->bdev);
>
>         /* Is there enough room ? */
> @@ -630,10 +638,8 @@ static int persistent_prepare_exception(struct
> dm_exception_store *store,
>          * Move onto the next free pending, making sure to take
>          * into account the location of the metadata chunks.
>          */
> -       stride = (ps->exceptions_per_area + 1);
> -       next_free = ++ps->next_free;
> -       if (sector_div(next_free, stride) == 1)
> -               ps->next_free++;
> +       ps->next_free++;
> +       skip_metadata(ps);
>
>         atomic_inc(&ps->pending_count);
>         return 0;
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> Message: 7
> Date: Tue, 29 Oct 2013 10:54:49 -0700
> From: Kamal Mostafa <kamal at canonical.com>
> To: Oliver Neukum <oneukum at suse.de>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>, Kamal Mostafa
>         <kamal at canonical.com>, kernel-team at lists.ubuntu.com
> Subject: [3.8.y.z extended stable] Patch "usb-storage: add quirk for
>         mandatory READ_CAPACITY_16" has been added to staging queue
> Message-ID: <1383069289-10813-1-git-send-email-kamal at canonical.com>
>
> This is a note to let you know that I have just added a patch titled
>
>     usb-storage: add quirk for mandatory READ_CAPACITY_16
>
> to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> which can be found at:
>
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
>
> This patch is scheduled to be released in version 3.8.13.12.
>
> If you, or anyone else, feels it should not be added to this tree, please
> reply to this email.
>
> For more information about the 3.8.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
>
> Thanks.
> -Kamal
>
> ------
>
> >From cdb05cc3d3ea727dbc15c2339dbe5e2f7150c413 Mon Sep 17 00:00:00 2001
> From: Oliver Neukum <oneukum at suse.de>
> Date: Mon, 14 Oct 2013 15:24:55 +0200
> Subject: usb-storage: add quirk for mandatory READ_CAPACITY_16
>
> commit 32c37fc30c52508711ea6a108cfd5855b8a07176 upstream.
>
> Some USB drive enclosures do not correctly report an
> overflow condition if they hold a drive with a capacity
> over 2TB and are confronted with a READ_CAPACITY_10.
> They answer with their capacity modulo 2TB.
> The generic layer cannot cope with that. It must be told
> to use READ_CAPACITY_16 from the beginning.
>
> Signed-off-by: Oliver Neukum <oneukum at suse.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  drivers/usb/storage/scsiglue.c     | 5 ++++-
>  drivers/usb/storage/unusual_devs.h | 7 +++++++
>  include/linux/usb_usual.h          | 4 +++-
>  3 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/storage/scsiglue.c
> b/drivers/usb/storage/scsiglue.c
> index 92f35ab..8dd5d1b 100644
> --- a/drivers/usb/storage/scsiglue.c
> +++ b/drivers/usb/storage/scsiglue.c
> @@ -211,8 +211,11 @@ static int slave_configure(struct scsi_device *sdev)
>                 /*
>                  * Many devices do not respond properly to
> READ_CAPACITY_16.
>                  * Tell the SCSI layer to try READ_CAPACITY_10 first.
> +                * However some USB 3.0 drive enclosures return capacity
> +                * modulo 2TB. Those must use READ_CAPACITY_16
>                  */
> -               sdev->try_rc_10_first = 1;
> +               if (!(us->fflags & US_FL_NEEDS_CAP16))
> +                       sdev->try_rc_10_first = 1;
>
>                 /* assume SPC3 or latter devices support sense size > 18 */
>                 if (sdev->scsi_level > SCSI_SPC_2)
> diff --git a/drivers/usb/storage/unusual_devs.h
> b/drivers/usb/storage/unusual_devs.h
> index f828c76..df8c74b 100644
> --- a/drivers/usb/storage/unusual_devs.h
> +++ b/drivers/usb/storage/unusual_devs.h
> @@ -1917,6 +1917,13 @@ UNUSUAL_DEV(  0x1652, 0x6600, 0x0201, 0x0201,
>                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>                 US_FL_IGNORE_RESIDUE ),
>
> +/* Reported by Oliver Neukum <oneukum at suse.com> */
> +UNUSUAL_DEV(  0x174c, 0x55aa, 0x0100, 0x0100,
> +               "ASMedia",
> +               "AS2105",
> +               USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> +               US_FL_NEEDS_CAP16),
> +
>  /* Reported by Jesse Feddema <jdfeddema at gmail.com> */
>  UNUSUAL_DEV(  0x177f, 0x0400, 0x0000, 0x0000,
>                 "Yarvik",
> diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
> index bf99cd0..6303568 100644
> --- a/include/linux/usb_usual.h
> +++ b/include/linux/usb_usual.h
> @@ -66,7 +66,9 @@
>         US_FLAG(INITIAL_READ10, 0x00100000)                     \
>                 /* Initial READ(10) (and others) must be retried */     \
>         US_FLAG(WRITE_CACHE,    0x00200000)                     \
> -               /* Write Cache status is not available */
> +               /* Write Cache status is not available */       \
> +       US_FLAG(NEEDS_CAP16,    0x00400000)
> +               /* cannot handle READ_CAPACITY_10 */
>
>  #define US_FLAG(name, value)   US_FL_##name = value ,
>  enum { US_DO_ALL_FLAGS };
> --
> 1.8.1.2
>
>
>
>
> ------------------------------
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
>
> End of kernel-team Digest, Vol 105, Issue 143
> *********************************************
>



-- 
Thank You,
Best Regards
Abdilaziz Abdullahi
*1-571-263-8931*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 024.JPG
Type: image/jpeg
Size: 1530147 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 025.JPG
Type: image/jpeg
Size: 1920468 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment-0001.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 026.JPG
Type: image/jpeg
Size: 1870334 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment-0002.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 027.JPG
Type: image/jpeg
Size: 1873682 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment-0003.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 028.JPG
Type: image/jpeg
Size: 1853050 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment-0004.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10-29 029.JPG
Type: image/jpeg
Size: 1763656 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20131029/357af511/attachment-0005.jpe>


More information about the kernel-team mailing list