diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2014-10-18 15:40:08 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2014-10-18 15:40:08 +0000 |
commit | 62375f44a5fd05bab8c3b5e86099e81441dc9fca (patch) | |
tree | 2e660e29f1c04e8d98249dab894cd4000853e874 /freed-ora | |
parent | 9dea475f5766013b4ce6375016346289b018f104 (diff) | |
download | linux-libre-raptor-62375f44a5fd05bab8c3b5e86099e81441dc9fca.tar.gz linux-libre-raptor-62375f44a5fd05bab8c3b5e86099e81441dc9fca.zip |
3.17.1-300.fc21.gnu
Diffstat (limited to 'freed-ora')
21 files changed, 734 insertions, 242 deletions
diff --git a/freed-ora/current/f21/ARM-tegra-usb-no-reset.patch b/freed-ora/current/f21/ARM-tegra-usb-no-reset.patch index 2f3dd6872..3b6c90630 100644 --- a/freed-ora/current/f21/ARM-tegra-usb-no-reset.patch +++ b/freed-ora/current/f21/ARM-tegra-usb-no-reset.patch @@ -9,10 +9,10 @@ Patch for disconnect issues with storage attached to a 1 file changed, 7 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index d481c99a20d7..6050143ce7ec 100644 +index dc849154f9de..88647f158ed2 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5036,6 +5036,13 @@ static void hub_events(void) +@@ -5038,6 +5038,13 @@ static void hub_events(void) (u16) hub->change_bits[0], (u16) hub->event_bits[0]); diff --git a/freed-ora/current/f21/HID-rmi-check-sanity-of-the-incoming-report.patch b/freed-ora/current/f21/HID-rmi-check-sanity-of-the-incoming-report.patch new file mode 100644 index 000000000..82c316a63 --- /dev/null +++ b/freed-ora/current/f21/HID-rmi-check-sanity-of-the-incoming-report.patch @@ -0,0 +1,107 @@ +From: Benjamin Tissoires <benjamin.tissoires@redhat.com> +Date: Wed, 10 Sep 2014 18:02:37 -0700 +Subject: [PATCH] HID: rmi: check sanity of the incoming report + +In the Dell XPS 13 9333, it appears that sometimes the bus get confused +and corrupts the incoming data. It fills the input report with the +sentinel value "ff". Synaptics told us that such behavior does not comes +from the touchpad itself, so we filter out such reports here. + +Unfortunately, we can not simply discard the incoming data because they +may contain useful information. Most of the time, the misbehavior is +quite near the end of the report, so we can still use the valid part of +it. + +Fixes: +https://bugzilla.redhat.com/show_bug.cgi?id=1123584 + +Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> +Signed-off-by: Andrew Duggan <aduggan@synaptics.com> +Signed-off-by: Jiri Kosina <jkosina@suse.cz> +--- + drivers/hid/hid-rmi.c | 44 ++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 38 insertions(+), 6 deletions(-) + +diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c +index 8389e8109218..3cccff73b9b9 100644 +--- a/drivers/hid/hid-rmi.c ++++ b/drivers/hid/hid-rmi.c +@@ -320,10 +320,7 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, + int offset; + int i; + +- if (size < hdata->f11.report_size) +- return 0; +- +- if (!(irq & hdata->f11.irq_mask)) ++ if (!(irq & hdata->f11.irq_mask) || size <= 0) + return 0; + + offset = (hdata->max_fingers >> 2) + 1; +@@ -332,9 +329,19 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, + int fs_bit_position = (i & 0x3) << 1; + int finger_state = (data[fs_byte_position] >> fs_bit_position) & + 0x03; ++ int position = offset + 5 * i; ++ ++ if (position + 5 > size) { ++ /* partial report, go on with what we received */ ++ printk_once(KERN_WARNING ++ "%s %s: Detected incomplete finger report. Finger reports may occasionally get dropped on this platform.\n", ++ dev_driver_string(&hdev->dev), ++ dev_name(&hdev->dev)); ++ hid_dbg(hdev, "Incomplete finger report\n"); ++ break; ++ } + +- rmi_f11_process_touch(hdata, i, finger_state, +- &data[offset + 5 * i]); ++ rmi_f11_process_touch(hdata, i, finger_state, &data[position]); + } + input_mt_sync_frame(hdata->input); + input_sync(hdata->input); +@@ -352,6 +359,11 @@ static int rmi_f30_input_event(struct hid_device *hdev, u8 irq, u8 *data, + if (!(irq & hdata->f30.irq_mask)) + return 0; + ++ if (size < (int)hdata->f30.report_size) { ++ hid_warn(hdev, "Click Button pressed, but the click data is missing\n"); ++ return 0; ++ } ++ + for (i = 0; i < hdata->gpio_led_count; i++) { + if (test_bit(i, &hdata->button_mask)) { + value = (data[i / 8] >> (i & 0x07)) & BIT(0); +@@ -412,9 +424,29 @@ static int rmi_read_data_event(struct hid_device *hdev, u8 *data, int size) + return 1; + } + ++static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size) ++{ ++ int valid_size = size; ++ /* ++ * On the Dell XPS 13 9333, the bus sometimes get confused and fills ++ * the report with a sentinel value "ff". Synaptics told us that such ++ * behavior does not comes from the touchpad itself, so we filter out ++ * such reports here. ++ */ ++ ++ while ((data[valid_size - 1] == 0xff) && valid_size > 0) ++ valid_size--; ++ ++ return valid_size; ++} ++ + static int rmi_raw_event(struct hid_device *hdev, + struct hid_report *report, u8 *data, int size) + { ++ size = rmi_check_sanity(hdev, data, size); ++ if (size < 2) ++ return 0; ++ + switch (data[0]) { + case RMI_READ_DATA_REPORT_ID: + return rmi_read_data_event(hdev, data, size); +-- +1.9.3 + diff --git a/freed-ora/current/f21/HID-usbhid-add-always-poll-quirk.patch b/freed-ora/current/f21/HID-usbhid-add-always-poll-quirk.patch new file mode 100644 index 000000000..240619761 --- /dev/null +++ b/freed-ora/current/f21/HID-usbhid-add-always-poll-quirk.patch @@ -0,0 +1,98 @@ +From: Johan Hovold <johan@kernel.org> +Date: Fri, 5 Sep 2014 18:08:47 +0200 +Subject: [PATCH] HID: usbhid: add always-poll quirk + +Add quirk to make sure that a device is always polled for input events +even if it hasn't been opened. + +This is needed for devices that disconnects from the bus unless the +interrupt endpoint has been polled at least once or when not responding +to an input event (e.g. after having shut down X). + +Signed-off-by: Johan Hovold <johan@kernel.org> +Signed-off-by: Jiri Kosina <jkosina@suse.cz> +--- + drivers/hid/usbhid/hid-core.c | 26 +++++++++++++++++++++++--- + include/linux/hid.h | 1 + + 2 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c +index 79cf503e37bf..ddd547ad6d7e 100644 +--- a/drivers/hid/usbhid/hid-core.c ++++ b/drivers/hid/usbhid/hid-core.c +@@ -82,7 +82,7 @@ static int hid_start_in(struct hid_device *hid) + struct usbhid_device *usbhid = hid->driver_data; + + spin_lock_irqsave(&usbhid->lock, flags); +- if (hid->open > 0 && ++ if ((hid->open > 0 || hid->quirks & HID_QUIRK_ALWAYS_POLL) && + !test_bit(HID_DISCONNECTED, &usbhid->iofl) && + !test_bit(HID_SUSPENDED, &usbhid->iofl) && + !test_and_set_bit(HID_IN_RUNNING, &usbhid->iofl)) { +@@ -292,6 +292,8 @@ static void hid_irq_in(struct urb *urb) + case 0: /* success */ + usbhid_mark_busy(usbhid); + usbhid->retry_delay = 0; ++ if ((hid->quirks & HID_QUIRK_ALWAYS_POLL) && !hid->open) ++ break; + hid_input_report(urb->context, HID_INPUT_REPORT, + urb->transfer_buffer, + urb->actual_length, 1); +@@ -735,8 +737,10 @@ void usbhid_close(struct hid_device *hid) + if (!--hid->open) { + spin_unlock_irq(&usbhid->lock); + hid_cancel_delayed_stuff(usbhid); +- usb_kill_urb(usbhid->urbin); +- usbhid->intf->needs_remote_wakeup = 0; ++ if (!(hid->quirks & HID_QUIRK_ALWAYS_POLL)) { ++ usb_kill_urb(usbhid->urbin); ++ usbhid->intf->needs_remote_wakeup = 0; ++ } + } else { + spin_unlock_irq(&usbhid->lock); + } +@@ -1134,6 +1138,19 @@ static int usbhid_start(struct hid_device *hid) + + set_bit(HID_STARTED, &usbhid->iofl); + ++ if (hid->quirks & HID_QUIRK_ALWAYS_POLL) { ++ ret = usb_autopm_get_interface(usbhid->intf); ++ if (ret) ++ goto fail; ++ usbhid->intf->needs_remote_wakeup = 1; ++ ret = hid_start_in(hid); ++ if (ret) { ++ dev_err(&hid->dev, ++ "failed to start in urb: %d\n", ret); ++ } ++ usb_autopm_put_interface(usbhid->intf); ++ } ++ + /* Some keyboards don't work until their LEDs have been set. + * Since BIOSes do set the LEDs, it must be safe for any device + * that supports the keyboard boot protocol. +@@ -1166,6 +1183,9 @@ static void usbhid_stop(struct hid_device *hid) + if (WARN_ON(!usbhid)) + return; + ++ if (hid->quirks & HID_QUIRK_ALWAYS_POLL) ++ usbhid->intf->needs_remote_wakeup = 0; ++ + clear_bit(HID_STARTED, &usbhid->iofl); + spin_lock_irq(&usbhid->lock); /* Sync with error and led handlers */ + set_bit(HID_DISCONNECTED, &usbhid->iofl); +diff --git a/include/linux/hid.h b/include/linux/hid.h +index f53c4a9cca1d..26ee25fced27 100644 +--- a/include/linux/hid.h ++++ b/include/linux/hid.h +@@ -287,6 +287,7 @@ struct hid_item { + #define HID_QUIRK_HIDINPUT_FORCE 0x00000080 + #define HID_QUIRK_NO_EMPTY_INPUT 0x00000100 + #define HID_QUIRK_NO_INIT_INPUT_REPORTS 0x00000200 ++#define HID_QUIRK_ALWAYS_POLL 0x00000400 + #define HID_QUIRK_SKIP_OUTPUT_REPORTS 0x00010000 + #define HID_QUIRK_SKIP_OUTPUT_REPORT_ID 0x00020000 + #define HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP 0x00040000 +-- +1.9.3 + diff --git a/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch b/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch new file mode 100644 index 000000000..1ead40b42 --- /dev/null +++ b/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch @@ -0,0 +1,37 @@ +From: Adel Gadllah <adel.gadllah@gmail.com> +Date: Mon, 6 Oct 2014 15:32:01 +0200 +Subject: [PATCH] HID: usbhid: always-poll quirk for Elan Touchscreen 009b + +This device needs the quirk as well. +--- + drivers/hid/hid-ids.h | 1 + + drivers/hid/usbhid/hid-quirks.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index 0d2e07dd71d8..c293747f8c72 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -298,6 +298,7 @@ + + #define USB_VENDOR_ID_ELAN 0x04f3 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 ++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b + + #define USB_VENDOR_ID_ELECOM 0x056e + #define USB_DEVICE_ID_ELECOM_BM084 0x0061 +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index ca18136ead15..2cdc1ecbf8e4 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -71,6 +71,7 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, +-- +1.9.3 + diff --git a/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch b/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch new file mode 100644 index 000000000..1f780726e --- /dev/null +++ b/freed-ora/current/f21/HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch @@ -0,0 +1,39 @@ +From: Adel Gadllah <adel.gadllah@gmail.com> +Date: Tue, 7 Oct 2014 18:45:09 +0200 +Subject: [PATCH] HID: usbhid: always-poll quirk for Elan Touchscreen 016f + +This device needs the quirk as well. + +Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> +--- + drivers/hid/hid-ids.h | 1 + + drivers/hid/usbhid/hid-quirks.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index c293747f8c72..81bc10e0bba2 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -299,6 +299,7 @@ + #define USB_VENDOR_ID_ELAN 0x04f3 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 + #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b ++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f + + #define USB_VENDOR_ID_ELECOM 0x056e + #define USB_DEVICE_ID_ELECOM_BM084 0x0061 +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index 2cdc1ecbf8e4..39a265df2909 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -72,6 +72,7 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, +-- +1.9.3 + diff --git a/freed-ora/current/f21/HID-usbhid-enable-always-poll-quirk-for-Elan-Touchsc.patch b/freed-ora/current/f21/HID-usbhid-enable-always-poll-quirk-for-Elan-Touchsc.patch new file mode 100644 index 000000000..ff2d25b00 --- /dev/null +++ b/freed-ora/current/f21/HID-usbhid-enable-always-poll-quirk-for-Elan-Touchsc.patch @@ -0,0 +1,52 @@ +From: Johan Hovold <johan@kernel.org> +Date: Fri, 5 Sep 2014 18:08:48 +0200 +Subject: [PATCH] HID: usbhid: enable always-poll quirk for Elan Touchscreen + +Enable the always-poll quirk for Elan Touchscreens found on some recent +Samsung laptops. + +Without this quirk the device keeps disconnecting from the bus (and is +re-enumerated) unless opened (and kept open, should an input event +occur). + +Note that while the device can be run-time suspended, the autosuspend +timeout must be high enough to allow the device to be polled at least +once before being suspended. Specifically, using autosuspend_delay_ms=0 +will still cause the device to disconnect on input events. + +Signed-off-by: Johan Hovold <johan@kernel.org> +Signed-off-by: Jiri Kosina <jkosina@suse.cz> +--- + drivers/hid/hid-ids.h | 3 +++ + drivers/hid/usbhid/hid-quirks.c | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index 25cd674d6064..0d2e07dd71d8 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -296,6 +296,9 @@ + #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_73F7 0x73f7 + #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 + ++#define USB_VENDOR_ID_ELAN 0x04f3 ++#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 ++ + #define USB_VENDOR_ID_ELECOM 0x056e + #define USB_DEVICE_ID_ELECOM_BM084 0x0061 + +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c +index 15225f3eaed1..ca18136ead15 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -70,6 +70,7 @@ static const struct hid_blacklist { + { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, ++ { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, +-- +1.9.3 + diff --git a/freed-ora/current/f21/Revert-Btrfs-race-free-update-of-commit-root-for-ro-.patch b/freed-ora/current/f21/Revert-Btrfs-race-free-update-of-commit-root-for-ro-.patch new file mode 100644 index 000000000..90ebd2fa4 --- /dev/null +++ b/freed-ora/current/f21/Revert-Btrfs-race-free-update-of-commit-root-for-ro-.patch @@ -0,0 +1,105 @@ +From: Josh Boyer <jwboyer@fedoraproject.org> +Date: Wed, 15 Oct 2014 10:09:50 -0400 +Subject: [PATCH] Revert "Btrfs: race free update of commit root for ro + snapshots" + +This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc. +--- + fs/btrfs/inode.c | 36 ------------------------------------ + fs/btrfs/ioctl.c | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 33 insertions(+), 36 deletions(-) + +diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c +index 016c403bfe7e..46bd0303fadd 100644 +--- a/fs/btrfs/inode.c ++++ b/fs/btrfs/inode.c +@@ -5202,42 +5202,6 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry) + iput(inode); + inode = ERR_PTR(ret); + } +- /* +- * If orphan cleanup did remove any orphans, it means the tree +- * was modified and therefore the commit root is not the same as +- * the current root anymore. This is a problem, because send +- * uses the commit root and therefore can see inode items that +- * don't exist in the current root anymore, and for example make +- * calls to btrfs_iget, which will do tree lookups based on the +- * current root and not on the commit root. Those lookups will +- * fail, returning a -ESTALE error, and making send fail with +- * that error. So make sure a send does not see any orphans we +- * have just removed, and that it will see the same inodes +- * regardless of whether a transaction commit happened before +- * it started (meaning that the commit root will be the same as +- * the current root) or not. +- */ +- if (sub_root->node != sub_root->commit_root) { +- u64 sub_flags = btrfs_root_flags(&sub_root->root_item); +- +- if (sub_flags & BTRFS_ROOT_SUBVOL_RDONLY) { +- struct extent_buffer *eb; +- +- /* +- * Assert we can't have races between dentry +- * lookup called through the snapshot creation +- * ioctl and the VFS. +- */ +- ASSERT(mutex_is_locked(&dir->i_mutex)); +- +- down_write(&root->fs_info->commit_root_sem); +- eb = sub_root->commit_root; +- sub_root->commit_root = +- btrfs_root_node(sub_root); +- up_write(&root->fs_info->commit_root_sem); +- free_extent_buffer(eb); +- } +- } + } + + return inode; +diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c +index 8a8e29878c34..f99f15e5e8cd 100644 +--- a/fs/btrfs/ioctl.c ++++ b/fs/btrfs/ioctl.c +@@ -711,6 +711,39 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir, + if (ret) + goto fail; + ++ ret = btrfs_orphan_cleanup(pending_snapshot->snap); ++ if (ret) ++ goto fail; ++ ++ /* ++ * If orphan cleanup did remove any orphans, it means the tree was ++ * modified and therefore the commit root is not the same as the ++ * current root anymore. This is a problem, because send uses the ++ * commit root and therefore can see inode items that don't exist ++ * in the current root anymore, and for example make calls to ++ * btrfs_iget, which will do tree lookups based on the current root ++ * and not on the commit root. Those lookups will fail, returning a ++ * -ESTALE error, and making send fail with that error. So make sure ++ * a send does not see any orphans we have just removed, and that it ++ * will see the same inodes regardless of whether a transaction ++ * commit happened before it started (meaning that the commit root ++ * will be the same as the current root) or not. ++ */ ++ if (readonly && pending_snapshot->snap->node != ++ pending_snapshot->snap->commit_root) { ++ trans = btrfs_join_transaction(pending_snapshot->snap); ++ if (IS_ERR(trans) && PTR_ERR(trans) != -ENOENT) { ++ ret = PTR_ERR(trans); ++ goto fail; ++ } ++ if (!IS_ERR(trans)) { ++ ret = btrfs_commit_transaction(trans, ++ pending_snapshot->snap); ++ if (ret) ++ goto fail; ++ } ++ } ++ + inode = btrfs_lookup_dentry(dentry->d_parent->d_inode, dentry); + if (IS_ERR(inode)) { + ret = PTR_ERR(inode); +-- +1.9.3 + diff --git a/freed-ora/current/f21/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/freed-ora/current/f21/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 0f3a70150..a733945f5 100644 --- a/freed-ora/current/f21/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/freed-ora/current/f21/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 10d51c2f10d7..5b6ebe8b519e 100644 +index 1edd5fdc629d..17a82652ac03 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3596,7 +3596,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -3600,7 +3600,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the allocated input device; If set to 0, video driver will only send out the event without touching backlight brightness level. diff --git a/freed-ora/current/f21/USB-core-add-device-qualifier-quirk.patch b/freed-ora/current/f21/USB-core-add-device-qualifier-quirk.patch new file mode 100644 index 000000000..48a2c309a --- /dev/null +++ b/freed-ora/current/f21/USB-core-add-device-qualifier-quirk.patch @@ -0,0 +1,53 @@ +From: Johan Hovold <johan@kernel.org> +Date: Mon, 25 Aug 2014 17:51:26 +0200 +Subject: [PATCH] USB: core: add device-qualifier quirk +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add new quirk for devices that cannot handle requests for the +device_qualifier descriptor. + +A USB-2.0 compliant device must respond to requests for the +device_qualifier descriptor (even if it's with a request error), but at +least one device is known to misbehave after such a request. + +Suggested-by: Bjørn Mork <bjorn@mork.no> +Signed-off-by: Johan Hovold <johan@kernel.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/usb/core/hub.c | 3 +++ + include/linux/usb/quirks.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index 88647f158ed2..d3e4c73d56a2 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -4540,6 +4540,9 @@ check_highspeed (struct usb_hub *hub, struct usb_device *udev, int port1) + struct usb_qualifier_descriptor *qual; + int status; + ++ if (udev->quirks & USB_QUIRK_DEVICE_QUALIFIER) ++ return; ++ + qual = kmalloc (sizeof *qual, GFP_KERNEL); + if (qual == NULL) + return; +diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h +index 32e0f5c04e72..a4abaeb3fb00 100644 +--- a/include/linux/usb/quirks.h ++++ b/include/linux/usb/quirks.h +@@ -41,6 +41,9 @@ + */ + #define USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL 0x00000080 + ++/* device can't handle device_qualifier descriptor requests */ ++#define USB_QUIRK_DEVICE_QUALIFIER 0x00000100 ++ + /* device generates spurious wakeup, ignore remote wakeup capability */ + #define USB_QUIRK_IGNORE_REMOTE_WAKEUP 0x00000200 + +-- +1.9.3 + diff --git a/freed-ora/current/f21/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch b/freed-ora/current/f21/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch new file mode 100644 index 000000000..8329406df --- /dev/null +++ b/freed-ora/current/f21/USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch @@ -0,0 +1,30 @@ +From: Adel Gadllah <adel.gadllah@gmail.com> +Date: Tue, 7 Oct 2014 18:42:28 +0200 +Subject: [PATCH] USB: quirks: device-qualifier quirk for another Elan + touchscreen + +Yet another device affected by this. + +Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 0999e0285e07..8ebe6254d013 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -98,6 +98,10 @@ static const struct usb_device_id usb_quirk_list[] = { + USB_QUIRK_DEVICE_QUALIFIER }, + + /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x016f), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ ++ /* Elan Touchscreen */ + { USB_DEVICE(0x04f3, 0x009b), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + +-- +1.9.3 + diff --git a/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-Elan-To.patch b/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-Elan-To.patch new file mode 100644 index 000000000..f423789af --- /dev/null +++ b/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-Elan-To.patch @@ -0,0 +1,46 @@ +From: Johan Hovold <johan@kernel.org> +Date: Mon, 25 Aug 2014 17:51:27 +0200 +Subject: [PATCH] USB: quirks: enable device-qualifier quirk for Elan + Touchscreen + +Enable device-qualifier quirk for Elan Touchscreen, which often fails to +handle requests for the device_descriptor. + +Note that the device sometimes do respond properly with a Request Error +(three times as USB core retries), but usually fails to respond at all. +When this happens any further descriptor requests also fails, for +example: + +[ 1528.688934] usb 2-7: new full-speed USB device number 4 using xhci_hcd +[ 1530.945588] usb 2-7: unable to read config index 0 descriptor/start: -71 +[ 1530.945592] usb 2-7: can't read configurations, error -71 + +This has been observed repeating for over a minute before eventual +successful enumeration. + +Reported-by: Drew Von Spreecken <drewvs@gmail.com> +Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Signed-off-by: Johan Hovold <johan@kernel.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 814e712655e4..5ae883dc21f5 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -93,6 +93,10 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x04e8, 0x6601), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + ++ /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x0089), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, + +-- +1.9.3 + diff --git a/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-another.patch b/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-another.patch new file mode 100644 index 000000000..49f84d97e --- /dev/null +++ b/freed-ora/current/f21/USB-quirks-enable-device-qualifier-quirk-for-another.patch @@ -0,0 +1,32 @@ +From: Adel Gadllah <adel.gadllah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> +Date: Sun, 5 Oct 2014 18:32:34 +0200 +Subject: [PATCH] USB: quirks: enable device-qualifier quirk for another Elan + touchscreen + +Currently this quirk is enabled for the model with the device id 0x0089, it +is needed for the 0x009b model, which is found on the Fujitsu Lifebook u904 +as well. + +Signed-off-by: Adel Gadllah <adel.gadllah-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index 5ae883dc21f5..0999e0285e07 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -97,6 +97,10 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x04f3, 0x0089), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + ++ /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x009b), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, + +-- +1.9.3 + diff --git a/freed-ora/current/f21/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/freed-ora/current/f21/acpi-video-Add-4-new-models-to-the-use_native_backli.patch deleted file mode 100644 index 4411248f3..000000000 --- a/freed-ora/current/f21/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ /dev/null @@ -1,88 +0,0 @@ -From: Hans de Goede <hdegoede@redhat.com> -Date: Wed, 30 Apr 2014 15:24:19 +0200 -Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi - list - -Acer Aspire V5-171 -https://bugzilla.redhat.com/show_bug.cgi?id=983342 - -Acer Aspire V5-471G -Lenovo Yoga 2 11 -Reported-and-tested-by: Vincent Gerris <vgerris@gmail.com> - -HP EliteBook 8470p -https://bugzilla.redhat.com/show_bug.cgi?id=1093120 - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/acpi/video.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index a3d293806f96..5c8ce8c699fc 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -556,6 +556,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - }, - { -+ .callback = video_set_use_native_backlight, -+ .ident = "Lenovo Yoga 2 11", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2 11"), -+ }, -+ }, -+ { - .callback = video_set_use_native_backlight, - .ident = "Thinkpad Helix", - .matches = { -@@ -597,6 +605,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "Acer Aspire V5-171", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "V5-171"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "Acer Aspire V5-431", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), -@@ -644,6 +660,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - }, - { -+ .callback = video_set_use_native_backlight, -+ .ident = "Acer Aspire V5-471G", -+ .matches = { -+ DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire V5-471G"), -+ }, -+ }, -+ { - .callback = video_set_use_native_backlight, - .ident = "HP ProBook 4340s", - .matches = { -@@ -720,6 +744,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "HP EliteBook 8470p", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8470p"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "HP EliteBook 8780w", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), --- -1.9.3 - diff --git a/freed-ora/current/f21/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/freed-ora/current/f21/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch deleted file mode 100644 index fb77e5641..000000000 --- a/freed-ora/current/f21/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 2 Jun 2014 17:41:10 +0200 -Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad - W530 - -Like all of the other *30 ThinkPad models, the W530 has a broken acpi-video -backlight control. Note in order for this to actually fix things on the -ThinkPad W530 the commit titled: -"nouveau: Don't check acpi_video_backlight_support() before registering backlight" -is also needed. - -https://bugzilla.redhat.com/show_bug.cgi?id=1093171 - -Bugzilla: 1093171 -Upstream-status: Queued for 3.16 - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/acpi/video.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index 5c8ce8c699fc..d8a6ecb0b2b2 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -469,6 +469,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "ThinkPad W530", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W530"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "ThinkPad X230", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), --- -1.9.3 - diff --git a/freed-ora/current/f21/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/freed-ora/current/f21/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch deleted file mode 100644 index 33a26383b..000000000 --- a/freed-ora/current/f21/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 2 Jun 2014 17:41:11 +0200 -Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook - 4540s - -As reported here: -https://bugzilla.redhat.com/show_bug.cgi?id=1025690 -This is yet another model which needs this quirk. - -Bugzilla: 1025690 -Upstream-status: Waiting for feedback from reporter - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/acpi/video.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index d8a6ecb0b2b2..8dbf009521c7 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -693,6 +693,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "HP ProBook 4540s", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4540s"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "HP ProBook 2013 models", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), --- -1.9.3 - diff --git a/freed-ora/current/f21/config-generic b/freed-ora/current/f21/config-generic index 10e94b81f..2cc4a9876 100644 --- a/freed-ora/current/f21/config-generic +++ b/freed-ora/current/f21/config-generic @@ -5078,7 +5078,7 @@ CONFIG_ZSMALLOC=y # CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_MOUSE_GPIO is not set # CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set +CONFIG_I2C_DESIGNWARE_PCI=m # CONFIG_I2C_GPIO is not set # CONFIG_DEBUG_GPIO is not set # CONFIG_W1_MASTER_GPIO is not set diff --git a/freed-ora/current/f21/fs-Add-a-missing-permission-check-to-do_umount.patch b/freed-ora/current/f21/fs-Add-a-missing-permission-check-to-do_umount.patch new file mode 100644 index 000000000..0db86e69f --- /dev/null +++ b/freed-ora/current/f21/fs-Add-a-missing-permission-check-to-do_umount.patch @@ -0,0 +1,31 @@ +From: Andy Lutomirski <luto@amacapital.net> +Date: Wed, 8 Oct 2014 12:37:46 -0700 +Subject: [PATCH] fs: Add a missing permission check to do_umount + +Accessing do_remount_sb should require global CAP_SYS_ADMIN, but +only one of the two call sites was appropriately protected. + +Fixes CVE-2014-7975. + +Cc: stable@vger.kernel.org +Signed-off-by: Andy Lutomirski <luto@amacapital.net> +--- + fs/namespace.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/fs/namespace.c b/fs/namespace.c +index 74647c2fe69c..550dbff08677 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -1356,6 +1356,8 @@ static int do_umount(struct mount *mnt, int flags) + * Special case for "unmounting" root ... + * we just try to remount it readonly. + */ ++ if (!capable(CAP_SYS_ADMIN)) ++ return -EPERM; + down_write(&sb->s_umount); + if (!(sb->s_flags & MS_RDONLY)) + retval = do_remount_sb(sb, MS_RDONLY, NULL, 0); +-- +1.9.3 + diff --git a/freed-ora/current/f21/kernel.spec b/freed-ora/current/f21/kernel.spec index 510b5e5d7..0923391d2 100644 --- a/freed-ora/current/f21/kernel.spec +++ b/freed-ora/current/f21/kernel.spec @@ -42,7 +42,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 301 +%global baserelease 300 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -92,7 +92,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 0 +%define stable_update 1 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -650,15 +650,10 @@ Patch22000: weird-root-dentry-name-debug.patch #rhbz 1025603 Patch25063: disable-libdw-unwind-on-non-x86.patch -#rhbz 983342 1093120 -Patch25069: acpi-video-Add-4-new-models-to-the-use_native_backli.patch - Patch26000: perf-install-trace-event-plugins.patch # Patch series from Hans for various backlight and platform driver fixes Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -Patch26013: acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch -Patch26014: acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch #rhbz 1134969 Patch26016: HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -678,7 +673,23 @@ Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch Patch26030: GFS2-Make-rename-not-save-dirent-location.patch -Patch26031: libata-Un-break-ATA-blacklist.patch +#CVE-2014-7970 rhbz 1151095 1151484 +Patch26032: mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch + +#rhbz 1149509 +Patch26034: USB-core-add-device-qualifier-quirk.patch +Patch26035: USB-quirks-enable-device-qualifier-quirk-for-Elan-To.patch +Patch26036: USB-quirks-enable-device-qualifier-quirk-for-another.patch +Patch26037: HID-usbhid-add-always-poll-quirk.patch +Patch26038: HID-usbhid-enable-always-poll-quirk-for-Elan-Touchsc.patch +Patch26039: HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch +Patch26040: USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch +Patch26041: HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch + +#CVE-2014-7975 rhbz 1151108 1152025 +Patch26042: fs-Add-a-missing-permission-check-to-do_umount.patch + +Patch26043: Revert-Btrfs-race-free-update-of-commit-root-for-ro-.patch # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1476,15 +1487,10 @@ ApplyPatch ath9k-rx-dma-stop-check.patch #rhbz 1025603 ApplyPatch disable-libdw-unwind-on-non-x86.patch -#rhbz 983342 1093120 -ApplyPatch acpi-video-Add-4-new-models-to-the-use_native_backli.patch - ApplyPatch perf-install-trace-event-plugins.patch # Patch series from Hans for various backlight and platform driver fixes ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -ApplyPatch acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch -ApplyPatch acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch #rhbz 1134969 ApplyPatch HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -1504,7 +1510,23 @@ ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch -ApplyPatch libata-Un-break-ATA-blacklist.patch +#CVE-2014-7970 rhbz 1151095 1151484 +ApplyPatch mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch + +#rhbz 1149509 +ApplyPatch USB-core-add-device-qualifier-quirk.patch +ApplyPatch USB-quirks-enable-device-qualifier-quirk-for-Elan-To.patch +ApplyPatch USB-quirks-enable-device-qualifier-quirk-for-another.patch +ApplyPatch HID-usbhid-add-always-poll-quirk.patch +ApplyPatch HID-usbhid-enable-always-poll-quirk-for-Elan-Touchsc.patch +ApplyPatch HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-00.patch +ApplyPatch USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch +ApplyPatch HID-usbhid-always-poll-quirk-for-Elan-Touchscreen-01.patch + +#CVE-2014-7975 rhbz 1151108 1152025 +ApplyPatch fs-Add-a-missing-permission-check-to-do_umount.patch + +ApplyPatch Revert-Btrfs-race-free-update-of-commit-root-for-ro-.patch %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch @@ -2387,6 +2409,24 @@ fi # ||----w | # || || %changelog +* Thu Oct 16 2014 Alexandre Oliva <lxoliva@fsfla.org> -libre +- GNU Linux-libre 3.17.1-gnu. + +* Wed Oct 15 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.17.1-300 +- Linux v3.17.1 +- Revert Btrfs ro snapshot commit that causes filesystem corruption + +* Mon Oct 13 2014 Josh Boyer <jwboyer@fedoraproject.org> +- CVE-2014-7975 fs: umount DoS (rhbz 1151108 1152025) + +* Sun Oct 12 2014 Josh Boyer <jwboyer@fedoraproject.org> +- Enable CONFIG_I2C_DESIGNWARE_PCI (rhbz 1045821) + +* Fri Oct 10 2014 Josh Boyer <jwboyer@fedoraproject.org> +- Add patches to fix elantech touchscreens (rhbz 1149509) +- CVE-2014-7970 VFS: DoS with USER_NS (rhbz 1151095 1151484) +- Drop doubly applied ACPI video quirk patches + * Wed Oct 08 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.17.0-301 - Add patch to fix ATA blacklist diff --git a/freed-ora/current/f21/libata-Un-break-ATA-blacklist.patch b/freed-ora/current/f21/libata-Un-break-ATA-blacklist.patch deleted file mode 100644 index e8d70ba66..000000000 --- a/freed-ora/current/f21/libata-Un-break-ATA-blacklist.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: George Spelvin <linux@horizon.com> -Date: Tue, 7 Oct 2014 07:26:38 -0400 -Subject: [PATCH] libata: Un-break ATA blacklist - -lib/glob.c provides a new glob_match() function, with arguments in -(pattern, string) order. It replaced a private function with arguments -in (string, pattern) order, but I didn't swap the call site... - -The result was the entire ATA blacklist was effectively disabled. - -The lesson for today is "I f***ed up *how* badly *how* many months ago?", -er, I mean "Nobody Tests RC Kernels On Legacy Hardware". - -This was not a subtle break, but it made it through an entire RC -cycle unreported, presumably because all the people doing testing -have full-featured hardware. - -(FWIW, the reason for the argument swap was because fnmatch() does it that -way, and for a while implementing a full fnmatch() was being considered.) - -Fixes: 428ac5fc056e0 (libata: Use glob_match from lib/glob.c) -Reported-by: Steven Honeyman <stevenhoneyman@gmail.com> -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371#c21 -Signed-off-by: George Spelvin <linux@horizon.com> -Cc: <stable@vger.kernel.org> # 3.17 -Tested-by: Steven Honeyman <stevenhoneyman@gmail.com> -Signed-off-by: Tejun Heo <tj@kernel.org> ---- - drivers/ata/libata-core.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c -index f3e7b9f894cd..6f674906c64c 100644 ---- a/drivers/ata/libata-core.c -+++ b/drivers/ata/libata-core.c -@@ -4261,10 +4261,10 @@ static unsigned long ata_dev_blacklisted(const struct ata_device *dev) - ata_id_c_string(dev->id, model_rev, ATA_ID_FW_REV, sizeof(model_rev)); - - while (ad->model_num) { -- if (glob_match(model_num, ad->model_num)) { -+ if (glob_match(ad->model_num, model_num)) { - if (ad->model_rev == NULL) - return ad->horkage; -- if (glob_match(model_rev, ad->model_rev)) -+ if (glob_match(ad->model_rev, model_rev)) - return ad->horkage; - } - ad++; --- -1.9.3 - diff --git a/freed-ora/current/f21/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch b/freed-ora/current/f21/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch new file mode 100644 index 000000000..0faadaf55 --- /dev/null +++ b/freed-ora/current/f21/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch @@ -0,0 +1,44 @@ +From: "Eric W. Biederman" <ebiederm@xmission.com> +Date: Wed, 8 Oct 2014 10:42:27 -0700 +Subject: [PATCH] mnt: Prevent pivot_root from creating a loop in the mount + tree + +Andy Lutomirski recently demonstrated that when chroot is used to set +the root path below the path for the new ``root'' passed to pivot_root +the pivot_root system call succeeds and leaks mounts. + +In examining the code I see that starting with a new root that is +below the current root in the mount tree will result in a loop in the +mount tree after the mounts are detached and then reattached to one +another. Resulting in all kinds of ugliness including a leak of that +mounts involved in the leak of the mount loop. + +Prevent this problem by ensuring that the new mount is reachable from +the current root of the mount tree. + +Upstream-status: Submitted for 3.18 +Bugzilla: 1151095,1151484 + +Reported-by: Andy Lutomirski <luto@amacapital.net> +Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> +--- + fs/namespace.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/fs/namespace.c b/fs/namespace.c +index ef42d9bee212..74647c2fe69c 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -2820,6 +2820,9 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, + /* make sure we can reach put_old from new_root */ + if (!is_path_reachable(old_mnt, old.dentry, &new)) + goto out4; ++ /* make certain new is below the root */ ++ if (!is_path_reachable(new_mnt, new.dentry, &root)) ++ goto out4; + root_mp->m_count++; /* pin it so it won't go away */ + lock_mount_hash(); + detach_mnt(new_mnt, &parent_path); +-- +1.9.3 + diff --git a/freed-ora/current/f21/sources b/freed-ora/current/f21/sources index 28743f1dd..a80821048 100644 --- a/freed-ora/current/f21/sources +++ b/freed-ora/current/f21/sources @@ -1,2 +1,3 @@ 61aaf05e9ccb9be9bcf9135993e9ee3e linux-libre-3.17-gnu.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz +f95409f0f5e3897d86acadd960fbcddb patch-3.17.1.xz |