From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 5AB9213888F for ; Mon, 26 Oct 2015 20:51:42 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 09558E081D; Mon, 26 Oct 2015 20:51:40 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 854DEE081D for ; Mon, 26 Oct 2015 20:51:39 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 63F17340AF3 for ; Mon, 26 Oct 2015 20:51:37 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 80F941712 for ; Mon, 26 Oct 2015 20:51:34 +0000 (UTC) From: "Mike Pagano" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Pagano" Message-ID: <1445892690.19c36945db482f1174588877bf34ec85a8b039af.mpagano@gentoo> Subject: [gentoo-commits] proj/linux-patches:4.1 commit in: / X-VCS-Repository: proj/linux-patches X-VCS-Files: 0000_README 1600_dm-crypt-limit-max-segment-size.patch 2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch X-VCS-Directories: / X-VCS-Committer: mpagano X-VCS-Committer-Name: Mike Pagano X-VCS-Revision: 19c36945db482f1174588877bf34ec85a8b039af X-VCS-Branch: 4.1 Date: Mon, 26 Oct 2015 20:51:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e96099a3-959d-4165-9c7a-dc701a7e5cd8 X-Archives-Hash: cb6a1fb8c5b5127aad14cd240d86082e commit: 19c36945db482f1174588877bf34ec85a8b039af Author: Mike Pagano gentoo org> AuthorDate: Mon Oct 26 20:51:30 2015 +0000 Commit: Mike Pagano gentoo org> CommitDate: Mon Oct 26 20:51:30 2015 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=19c36945 Remove redundant patchsets. 0000_README | 8 --- 1600_dm-crypt-limit-max-segment-size.patch | 84 ---------------------- 2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch | 32 --------- 3 files changed, 124 deletions(-) diff --git a/0000_README b/0000_README index fa3fbdb..18e95dd 100644 --- a/0000_README +++ b/0000_README @@ -95,14 +95,6 @@ Patch: 1510_fs-enable-link-security-restrictions-by-default.patch From: http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/ Desc: Enable link security restrictions by default. -Patch: 1600_dm-crypt-limit-max-segment-size.patch -From: https://bugzilla.kernel.org/show_bug.cgi?id=104421 -Desc: dm crypt: constrain crypt device's max_segment_size to PAGE_SIZE. - -Patch: 2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch -From: http://git.kernel.org/ -Desc: inet: Patch to fix potential deadlock in reqsk_queue_unlink() - Patch: 2700_ThinkPad-30-brightness-control-fix.patch From: Seth Forshee Desc: ACPI: Disable Windows 8 compatibility for some Lenovo ThinkPads. diff --git a/1600_dm-crypt-limit-max-segment-size.patch b/1600_dm-crypt-limit-max-segment-size.patch deleted file mode 100644 index 82aca44..0000000 --- a/1600_dm-crypt-limit-max-segment-size.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 586b286b110e94eb31840ac5afc0c24e0881fe34 Mon Sep 17 00:00:00 2001 -From: Mike Snitzer -Date: Wed, 9 Sep 2015 21:34:51 -0400 -Subject: dm crypt: constrain crypt device's max_segment_size to PAGE_SIZE - -Setting the dm-crypt device's max_segment_size to PAGE_SIZE is an -unfortunate constraint that is required to avoid the potential for -exceeding dm-crypt's underlying device's max_segments limits -- due to -crypt_alloc_buffer() possibly allocating pages for the encryption bio -that are not as physically contiguous as the original bio. - -It is interesting to note that this problem was already fixed back in -2007 via commit 91e106259 ("dm crypt: use bio_add_page"). But Linux 4.0 -commit cf2f1abfb ("dm crypt: don't allocate pages for a partial -request") regressed dm-crypt back to _not_ using bio_add_page(). But -given dm-crypt's cpu parallelization changes all depend on commit -cf2f1abfb's abandoning of the more complex io fragments processing that -dm-crypt previously had we cannot easily go back to using -bio_add_page(). - -So all said the cleanest way to resolve this issue is to fix dm-crypt to -properly constrain the original bios entering dm-crypt so the encryption -bios that dm-crypt generates from the original bios are always -compatible with the underlying device's max_segments queue limits. - -It should be noted that technically Linux 4.3 does _not_ need this fix -because of the block core's new late bio-splitting capability. But, it -is reasoned, there is little to be gained by having the block core split -the encrypted bio that is composed of PAGE_SIZE segments. That said, in -the future we may revert this change. - -Fixes: cf2f1abfb ("dm crypt: don't allocate pages for a partial request") -Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=104421 -Suggested-by: Jeff Moyer -Signed-off-by: Mike Snitzer -Cc: stable@vger.kernel.org # 4.0+ - -diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c -index d60c88d..4b3b6f8 100644 ---- a/drivers/md/dm-crypt.c -+++ b/drivers/md/dm-crypt.c -@@ -968,7 +968,8 @@ static void crypt_free_buffer_pages(struct crypt_config *cc, struct bio *clone); - - /* - * Generate a new unfragmented bio with the given size -- * This should never violate the device limitations -+ * This should never violate the device limitations (but only because -+ * max_segment_size is being constrained to PAGE_SIZE). - * - * This function may be called concurrently. If we allocate from the mempool - * concurrently, there is a possibility of deadlock. For example, if we have -@@ -2045,9 +2046,20 @@ static int crypt_iterate_devices(struct dm_target *ti, - return fn(ti, cc->dev, cc->start, ti->len, data); - } - -+static void crypt_io_hints(struct dm_target *ti, struct queue_limits *limits) -+{ -+ /* -+ * Unfortunate constraint that is required to avoid the potential -+ * for exceeding underlying device's max_segments limits -- due to -+ * crypt_alloc_buffer() possibly allocating pages for the encryption -+ * bio that are not as physically contiguous as the original bio. -+ */ -+ limits->max_segment_size = PAGE_SIZE; -+} -+ - static struct target_type crypt_target = { - .name = "crypt", -- .version = {1, 14, 0}, -+ .version = {1, 14, 1}, - .module = THIS_MODULE, - .ctr = crypt_ctr, - .dtr = crypt_dtr, -@@ -2058,6 +2070,7 @@ static struct target_type crypt_target = { - .resume = crypt_resume, - .message = crypt_message, - .iterate_devices = crypt_iterate_devices, -+ .io_hints = crypt_io_hints, - }; - - static int __init dm_crypt_init(void) --- -cgit v0.10.2 - diff --git a/2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch b/2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch deleted file mode 100644 index 890f5e5..0000000 --- a/2000_inet-deadlock-in-reqsk-queue-unlink-fix.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af Mon Sep 17 00:00:00 2001 -From: Eric Dumazet -Date: Thu, 13 Aug 2015 15:44:51 -0700 -Subject: inet: fix potential deadlock in reqsk_queue_unlink() - -When replacing del_timer() with del_timer_sync(), I introduced -a deadlock condition : - -reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop() - -inet_csk_reqsk_queue_drop() can be called from many contexts, -one being the timer handler itself (reqsk_timer_handler()). - -In this case, del_timer_sync() loops forever. - -Simple fix is to test if timer is pending. - -Fixes: 2235f2ac75fd ("inet: fix races with reqsk timers") -Signed-off-by: Eric Dumazet -Signed-off-by: David S. Miller - ---- a/net/ipv4/inet_connection_sock.c 2015-10-02 07:49:42.759957268 -0400 -+++ b/net/ipv4/inet_connection_sock.c 2015-10-02 07:50:12.929957111 -0400 -@@ -584,7 +584,7 @@ static bool reqsk_queue_unlink(struct re - } - - spin_unlock(&queue->syn_wait_lock); -- if (del_timer_sync(&req->rsk_timer)) -+ if (timer_pending(&req->rsk_timer) && del_timer_sync(&req->rsk_timer)) - reqsk_put(req); - return found; - }