From: Greg Kroah-Hartman Date: Wed, 14 Jan 2015 00:24:47 +0000 (-0800) Subject: 3.18-stable patches X-Git-Tag: v3.10.65~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e429b78b6dc4fb4eea2e1b50dfe5c7e38eef05aa;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch alsa-hda-realtek-new-codec-support-for-alc256.patch alsa-hda-realtek-new-codec-support-for-alc298.patch alsa-hda-using-uninitialized-data.patch alsa-usb-audio-extend-kef-x300a-fu-10-tweak-to-arcam-rpac.patch driver-core-fix-unbalanced-device-reference-in-drivers_probe.patch i2c-designware-fix-falling-time-bindings-doc.patch i8k-add-support-for-dell-latitude-e6440.patch misc-genwqe-check-for-error-from-get_user_pages_fast.patch --- diff --git a/queue-3.18/alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch b/queue-3.18/alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch new file mode 100644 index 00000000000..2c22c7eeb35 --- /dev/null +++ b/queue-3.18/alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch @@ -0,0 +1,29 @@ +From 8b72415d8aa8bb1904c61926bd0701447ce44bee Mon Sep 17 00:00:00 2001 +From: Kailang Yang +Date: Wed, 17 Dec 2014 17:08:59 +0800 +Subject: ALSA: hda/realtek - Add new Dell desktop for ALC3234 headset mode + +From: Kailang Yang + +commit 8b72415d8aa8bb1904c61926bd0701447ce44bee upstream. + +New Dell desktop needs to support headset mode for ALC3234. + +Signed-off-by: Kailang Yang +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -4796,6 +4796,7 @@ static const struct snd_pci_quirk alc269 + SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK), + SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), ++ SND_PCI_QUIRK(0x1028, 0x06c7, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), diff --git a/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc256.patch b/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc256.patch new file mode 100644 index 00000000000..4e72ad4ec23 --- /dev/null +++ b/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc256.patch @@ -0,0 +1,63 @@ +From 4344aec84bd84b58a01347f0db7693f73fb6473d Mon Sep 17 00:00:00 2001 +From: Kailang Yang +Date: Wed, 17 Dec 2014 17:39:05 +0800 +Subject: ALSA: hda/realtek - New codec support for ALC256 + +From: Kailang Yang + +commit 4344aec84bd84b58a01347f0db7693f73fb6473d upstream. + +Add new support for ALC256 codec. + +Signed-off-by: Kailang Yang +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -319,6 +319,7 @@ static void alc_fill_eapd_coef(struct hd + break; + case 0x10ec0233: + case 0x10ec0255: ++ case 0x10ec0256: + case 0x10ec0282: + case 0x10ec0283: + case 0x10ec0286: +@@ -2660,6 +2661,7 @@ enum { + ALC269_TYPE_ALC286, + ALC269_TYPE_ALC298, + ALC269_TYPE_ALC255, ++ ALC269_TYPE_ALC256, + }; + + /* +@@ -2688,6 +2690,7 @@ static int alc269_parse_auto_config(stru + case ALC269_TYPE_ALC286: + case ALC269_TYPE_ALC298: + case ALC269_TYPE_ALC255: ++ case ALC269_TYPE_ALC256: + ssids = alc269_ssids; + break; + default: +@@ -5386,6 +5389,9 @@ static int patch_alc269(struct hda_codec + case 0x10ec0255: + spec->codec_variant = ALC269_TYPE_ALC255; + break; ++ case 0x10ec0256: ++ spec->codec_variant = ALC269_TYPE_ALC256; ++ break; + } + + if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) { +@@ -6321,6 +6327,7 @@ static const struct hda_codec_preset snd + { .id = 0x10ec0233, .name = "ALC233", .patch = patch_alc269 }, + { .id = 0x10ec0235, .name = "ALC233", .patch = patch_alc269 }, + { .id = 0x10ec0255, .name = "ALC255", .patch = patch_alc269 }, ++ { .id = 0x10ec0256, .name = "ALC256", .patch = patch_alc269 }, + { .id = 0x10ec0260, .name = "ALC260", .patch = patch_alc260 }, + { .id = 0x10ec0262, .name = "ALC262", .patch = patch_alc262 }, + { .id = 0x10ec0267, .name = "ALC267", .patch = patch_alc268 }, diff --git a/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc298.patch b/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc298.patch new file mode 100644 index 00000000000..7078bc042c5 --- /dev/null +++ b/queue-3.18/alsa-hda-realtek-new-codec-support-for-alc298.patch @@ -0,0 +1,63 @@ +From 506b62c33a7444b91a93bf2da772f4c7e6656410 Mon Sep 17 00:00:00 2001 +From: Kailang Yang +Date: Thu, 18 Dec 2014 17:07:44 +0800 +Subject: ALSA: hda/realtek - New codec support for ALC298 + +From: Kailang Yang + +commit 506b62c33a7444b91a93bf2da772f4c7e6656410 upstream. + +Add new support for ALC298 codec. + +Signed-off-by: Kailang Yang +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -323,6 +323,7 @@ static void alc_fill_eapd_coef(struct hd + case 0x10ec0283: + case 0x10ec0286: + case 0x10ec0288: ++ case 0x10ec0298: + alc_update_coef_idx(codec, 0x10, 1<<9, 0); + break; + case 0x10ec0285: +@@ -2657,6 +2658,7 @@ enum { + ALC269_TYPE_ALC284, + ALC269_TYPE_ALC285, + ALC269_TYPE_ALC286, ++ ALC269_TYPE_ALC298, + ALC269_TYPE_ALC255, + }; + +@@ -2684,6 +2686,7 @@ static int alc269_parse_auto_config(stru + case ALC269_TYPE_ALC282: + case ALC269_TYPE_ALC283: + case ALC269_TYPE_ALC286: ++ case ALC269_TYPE_ALC298: + case ALC269_TYPE_ALC255: + ssids = alc269_ssids; + break; +@@ -5377,6 +5380,9 @@ static int patch_alc269(struct hda_codec + spec->codec_variant = ALC269_TYPE_ALC286; + spec->shutup = alc286_shutup; + break; ++ case 0x10ec0298: ++ spec->codec_variant = ALC269_TYPE_ALC298; ++ break; + case 0x10ec0255: + spec->codec_variant = ALC269_TYPE_ALC255; + break; +@@ -6334,6 +6340,7 @@ static const struct hda_codec_preset snd + { .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 }, + { .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 }, + { .id = 0x10ec0293, .name = "ALC293", .patch = patch_alc269 }, ++ { .id = 0x10ec0298, .name = "ALC298", .patch = patch_alc269 }, + { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660", + .patch = patch_alc861 }, + { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd }, diff --git a/queue-3.18/alsa-hda-using-uninitialized-data.patch b/queue-3.18/alsa-hda-using-uninitialized-data.patch new file mode 100644 index 00000000000..85956081b4f --- /dev/null +++ b/queue-3.18/alsa-hda-using-uninitialized-data.patch @@ -0,0 +1,37 @@ +From 69eba10e606a80665f8573221fec589430d9d1cb Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Thu, 27 Nov 2014 01:34:43 +0300 +Subject: ALSA: hda - using uninitialized data + +From: Dan Carpenter + +commit 69eba10e606a80665f8573221fec589430d9d1cb upstream. + +In olden times the snd_hda_param_read() function always set "*start_id" +but in 2007 we introduced a new return and it causes uninitialized data +bugs in a couple of the callers: print_codec_info() and +hdmi_parse_codec(). + +Fixes: e8a7f136f5ed ('[ALSA] hda-intel - Improve HD-audio codec probing robustness') +Signed-off-by: Dan Carpenter +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/hda_codec.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/sound/pci/hda/hda_codec.c ++++ b/sound/pci/hda/hda_codec.c +@@ -338,8 +338,10 @@ int snd_hda_get_sub_nodes(struct hda_cod + unsigned int parm; + + parm = snd_hda_param_read(codec, nid, AC_PAR_NODE_COUNT); +- if (parm == -1) ++ if (parm == -1) { ++ *start_id = 0; + return 0; ++ } + *start_id = (parm >> 16) & 0x7fff; + return (int)(parm & 0x7fff); + } diff --git a/queue-3.18/alsa-usb-audio-extend-kef-x300a-fu-10-tweak-to-arcam-rpac.patch b/queue-3.18/alsa-usb-audio-extend-kef-x300a-fu-10-tweak-to-arcam-rpac.patch new file mode 100644 index 00000000000..00d51c7b5a6 --- /dev/null +++ b/queue-3.18/alsa-usb-audio-extend-kef-x300a-fu-10-tweak-to-arcam-rpac.patch @@ -0,0 +1,60 @@ +From d70a1b9893f820fdbcdffac408c909c50f2e6b43 Mon Sep 17 00:00:00 2001 +From: Jiri Jaburek +Date: Thu, 18 Dec 2014 02:03:19 +0100 +Subject: ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC + +From: Jiri Jaburek + +commit d70a1b9893f820fdbcdffac408c909c50f2e6b43 upstream. + +The Arcam rPAC seems to have the same problem - whenever anything +(alsamixer, udevd, 3.9+ kernel from 60af3d037eb8c, ..) attempts to +access mixer / control interface of the card, the firmware "locks up" +the entire device, resulting in + SNDRV_PCM_IOCTL_HW_PARAMS failed (-5): Input/output error +from alsa-lib. + +Other operating systems can somehow read the mixer (there seems to be +playback volume/mute), but any manipulation is ignored by the device +(which has hardware volume controls). + +Signed-off-by: Jiri Jaburek +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/mixer_maps.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +--- a/sound/usb/mixer_maps.c ++++ b/sound/usb/mixer_maps.c +@@ -328,8 +328,11 @@ static struct usbmix_name_map gamecom780 + {} + }; + +-static const struct usbmix_name_map kef_x300a_map[] = { +- { 10, NULL }, /* firmware locks up (?) when we try to access this FU */ ++/* some (all?) SCMS USB3318 devices are affected by a firmware lock up ++ * when anything attempts to access FU 10 (control) ++ */ ++static const struct usbmix_name_map scms_usb3318_map[] = { ++ { 10, NULL }, + { 0 } + }; + +@@ -425,8 +428,14 @@ static struct usbmix_ctl_map usbmix_ctl_ + .map = ebox44_map, + }, + { ++ /* KEF X300A */ + .id = USB_ID(0x27ac, 0x1000), +- .map = kef_x300a_map, ++ .map = scms_usb3318_map, ++ }, ++ { ++ /* Arcam rPAC */ ++ .id = USB_ID(0x25c4, 0x0003), ++ .map = scms_usb3318_map, + }, + { 0 } /* terminator */ + }; diff --git a/queue-3.18/driver-core-fix-unbalanced-device-reference-in-drivers_probe.patch b/queue-3.18/driver-core-fix-unbalanced-device-reference-in-drivers_probe.patch new file mode 100644 index 00000000000..6a41583ebcc --- /dev/null +++ b/queue-3.18/driver-core-fix-unbalanced-device-reference-in-drivers_probe.patch @@ -0,0 +1,80 @@ +From bb34cb6bbd287b57e955bc5cfd42fcde6aaca279 Mon Sep 17 00:00:00 2001 +From: Alex Williamson +Date: Fri, 31 Oct 2014 11:13:07 -0600 +Subject: driver core: Fix unbalanced device reference in drivers_probe + +From: Alex Williamson + +commit bb34cb6bbd287b57e955bc5cfd42fcde6aaca279 upstream. + +bus_find_device_by_name() acquires a device reference which is never +released. This results in an object leak, which on older kernels +results in failure to release all resources of PCI devices. libvirt +uses drivers_probe to re-attach devices to the host after assignment +and is therefore a common trigger for this leak. + +Example: + +# cd /sys/bus/pci/ +# dmesg -C +# echo 1 > devices/0000\:01\:00.0/sriov_numvfs +# echo 0 > devices/0000\:01\:00.0/sriov_numvfs +# dmesg | grep 01:10 + pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000 + kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_add_internal: parent: '0000:00:01.0', set: 'devices' + kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_cleanup, parent (null) + kobject: '0000:01:10.0' (ffff8801d79cd0a8): calling ktype release + kobject: '0000:01:10.0': free name + +[kobject freed as expected] + +# dmesg -C +# echo 1 > devices/0000\:01\:00.0/sriov_numvfs +# echo 0000:01:10.0 > drivers_probe +# echo 0 > devices/0000\:01\:00.0/sriov_numvfs +# dmesg | grep 01:10 + pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000 + kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_add_internal: parent: '0000:00:01.0', set: 'devices' + kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env + kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0' + +[no free] + +Signed-off-by: Alex Williamson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/base/bus.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/base/bus.c ++++ b/drivers/base/bus.c +@@ -254,13 +254,15 @@ static ssize_t store_drivers_probe(struc + const char *buf, size_t count) + { + struct device *dev; ++ int err = -EINVAL; + + dev = bus_find_device_by_name(bus, NULL, buf); + if (!dev) + return -ENODEV; +- if (bus_rescan_devices_helper(dev, NULL) != 0) +- return -EINVAL; +- return count; ++ if (bus_rescan_devices_helper(dev, NULL) == 0) ++ err = count; ++ put_device(dev); ++ return err; + } + + static struct device *next_device(struct klist_iter *i) diff --git a/queue-3.18/i2c-designware-fix-falling-time-bindings-doc.patch b/queue-3.18/i2c-designware-fix-falling-time-bindings-doc.patch new file mode 100644 index 00000000000..50832a1ea3c --- /dev/null +++ b/queue-3.18/i2c-designware-fix-falling-time-bindings-doc.patch @@ -0,0 +1,46 @@ +From 8e2596e81a9dd8f9efcf78476f3990f211e25edb Mon Sep 17 00:00:00 2001 +From: Doug Anderson +Date: Fri, 5 Dec 2014 10:49:39 -0800 +Subject: i2c: designware: Fix falling time bindings doc + +From: Doug Anderson + +commit 8e2596e81a9dd8f9efcf78476f3990f211e25edb upstream. + +In (6468276 i2c: designware: make SCL and SDA falling time +configurable) new device tree properties were added for setting the +falling time of SDA and SCL. The device tree bindings doc had a typo +in it: it forgot the "-ns" suffix for both properies in the prose of +the bindings. + +I assume this is a typo because: +* The source code includes the "-ns" +* The example in the bindings includes the "-ns". + +Fix the typo. + +Signed-off-by: Doug Anderson +Fixes: 6468276b2206 ("i2c: designware: make SCL and SDA falling time configurable") +Acked-by: Romain Baeriswyl +Signed-off-by: Wolfram Sang +Signed-off-by: Greg Kroah-Hartman + +--- + Documentation/devicetree/bindings/i2c/i2c-designware.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Documentation/devicetree/bindings/i2c/i2c-designware.txt ++++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt +@@ -14,10 +14,10 @@ Optional properties : + - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. + This option is only supported in hardware blocks version 1.11a or newer. + +- - i2c-scl-falling-time : should contain the SCL falling time in nanoseconds. ++ - i2c-scl-falling-time-ns : should contain the SCL falling time in nanoseconds. + This value which is by default 300ns is used to compute the tLOW period. + +- - i2c-sda-falling-time : should contain the SDA falling time in nanoseconds. ++ - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds. + This value which is by default 300ns is used to compute the tHIGH period. + + Example : diff --git a/queue-3.18/i8k-add-support-for-dell-latitude-e6440.patch b/queue-3.18/i8k-add-support-for-dell-latitude-e6440.patch new file mode 100644 index 00000000000..206381cbd04 --- /dev/null +++ b/queue-3.18/i8k-add-support-for-dell-latitude-e6440.patch @@ -0,0 +1,39 @@ +From 0f352239de1628d38ff35adb91842a732f4453cd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pali=20Roh=C3=A1r?= +Date: Fri, 10 Oct 2014 11:12:47 +0200 +Subject: i8k: Add support for Dell Latitude E6440 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: =?UTF-8?q?Pali=20Roh=C3=A1r?= + +commit 0f352239de1628d38ff35adb91842a732f4453cd upstream. + +Dell Latitude E6440 needs same settings as E6540. + +Signed-off-by: Pali Rohár +Acked-by: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/char/i8k.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/char/i8k.c ++++ b/drivers/char/i8k.c +@@ -711,6 +711,14 @@ static struct dmi_system_id i8k_dmi_tabl + .driver_data = (void *)&i8k_config_data[DELL_LATITUDE_D520], + }, + { ++ .ident = "Dell Latitude E6440", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), ++ DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6440"), ++ }, ++ .driver_data = (void *)&i8k_config_data[DELL_LATITUDE_E6540], ++ }, ++ { + .ident = "Dell Latitude E6540", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), diff --git a/queue-3.18/misc-genwqe-check-for-error-from-get_user_pages_fast.patch b/queue-3.18/misc-genwqe-check-for-error-from-get_user_pages_fast.patch new file mode 100644 index 00000000000..97a57999cd8 --- /dev/null +++ b/queue-3.18/misc-genwqe-check-for-error-from-get_user_pages_fast.patch @@ -0,0 +1,36 @@ +From cf35d6e0475982667b0d2d318fb27be4b8849827 Mon Sep 17 00:00:00 2001 +From: Ian Abbott +Date: Thu, 6 Nov 2014 16:23:39 +0000 +Subject: misc: genwqe: check for error from get_user_pages_fast() + +From: Ian Abbott + +commit cf35d6e0475982667b0d2d318fb27be4b8849827 upstream. + +`genwqe_user_vmap()` calls `get_user_pages_fast()` and if the return +value is less than the number of pages requested, it frees the pages and +returns an error (`-EFAULT`). However, it fails to consider a negative +error return value from `get_user_pages_fast()`. In that case, the test +`if (rc < m->nr_pages)` will be false (due to promotion of `rc` to a +large `unsigned int`) and the code will continue on to call +`genwqe_map_pages()` with an invalid list of page pointers. Fix it by +bailing out if `get_user_pages_fast()` returns a negative error value. + +Signed-off-by: Ian Abbott +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/misc/genwqe/card_utils.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/misc/genwqe/card_utils.c ++++ b/drivers/misc/genwqe/card_utils.c +@@ -590,6 +590,8 @@ int genwqe_user_vmap(struct genwqe_dev * + m->nr_pages, + 1, /* write by caller */ + m->page_list); /* ptrs to pages */ ++ if (rc < 0) ++ goto fail_get_user_pages; + + /* assumption: get_user_pages can be killed by signals. */ + if (rc < m->nr_pages) { diff --git a/queue-3.18/series b/queue-3.18/series index 7a965ee9bcc..c5bda1782ab 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -67,3 +67,12 @@ kvm-s390-fix-ipte-locking.patch kvm-x86-drop-severity-of-generation-wraparound-message.patch x86_64-vdso-fix-the-vdso-address-randomization-algorithm.patch x86-vdso-use-asm-volatile-in-__getcpu.patch +driver-core-fix-unbalanced-device-reference-in-drivers_probe.patch +misc-genwqe-check-for-error-from-get_user_pages_fast.patch +i8k-add-support-for-dell-latitude-e6440.patch +i2c-designware-fix-falling-time-bindings-doc.patch +alsa-usb-audio-extend-kef-x300a-fu-10-tweak-to-arcam-rpac.patch +alsa-hda-realtek-new-codec-support-for-alc298.patch +alsa-hda-realtek-new-codec-support-for-alc256.patch +alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch +alsa-hda-using-uninitialized-data.patch