diff --git a/0001-Revert-epoll-use-freezable-blocking-call.patch b/0001-Revert-epoll-use-freezable-blocking-call.patch new file mode 100644 index 0000000..eda58ee --- /dev/null +++ b/0001-Revert-epoll-use-freezable-blocking-call.patch @@ -0,0 +1,49 @@ +From c511851de162e8ec03d62e7d7feecbdf590d881d Mon Sep 17 00:00:00 2001 +From: "Rafael J. Wysocki" +Date: Tue, 29 Oct 2013 13:12:56 +0100 +Subject: [PATCH] Revert "epoll: use freezable blocking call" + +This reverts commit 1c441e921201 (epoll: use freezable blocking call) +which is reported to cause user space memory corruption to happen +after suspend to RAM. + +Since it appears to be extremely difficult to root cause this +problem, it is best to revert the offending commit and try to address +the original issue in a better way later. + +References: https://bugzilla.kernel.org/show_bug.cgi?id=61781 +Reported-by: Natrio +Reported-by: Jeff Pohlmeyer +Bisected-by: Leo Wolf +Fixes: 1c441e921201 (epoll: use freezable blocking call) +Signed-off-by: Rafael J. Wysocki +Cc: 3.11+ # 3.11+ +--- + fs/eventpoll.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/fs/eventpoll.c b/fs/eventpoll.c +index 473e09d..810c28f 100644 +--- a/fs/eventpoll.c ++++ b/fs/eventpoll.c +@@ -34,7 +34,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -1605,8 +1604,7 @@ fetch_events: + } + + spin_unlock_irqrestore(&ep->lock, flags); +- if (!freezable_schedule_hrtimeout_range(to, slack, +- HRTIMER_MODE_ABS)) ++ if (!schedule_hrtimeout_range(to, slack, HRTIMER_MODE_ABS)) + timed_out = 1; + + spin_lock_irqsave(&ep->lock, flags); +-- +1.8.3.1 + diff --git a/0001-Revert-select-use-freezable-blocking-call.patch b/0001-Revert-select-use-freezable-blocking-call.patch new file mode 100644 index 0000000..0ab5152 --- /dev/null +++ b/0001-Revert-select-use-freezable-blocking-call.patch @@ -0,0 +1,55 @@ +From 59612d187912750f416fbffe0c00bc0811c54ab5 Mon Sep 17 00:00:00 2001 +From: "Rafael J. Wysocki" +Date: Tue, 29 Oct 2013 23:43:08 +0100 +Subject: [PATCH] Revert "select: use freezable blocking call" + +This reverts commit 9745cdb36da8 (select: use freezable blocking call) +that triggers problems during resume from suspend to RAM on Paul Bolle's +32-bit x86 machines. Paul says: + + Ever since I tried running (release candidates of) v3.11 on the two + working i686s I still have lying around I ran into issues on resuming + from suspend. Reverting 9745cdb36da8 (select: use freezable blocking + call) resolves those issues. + + Resuming from suspend on i686 on (release candidates of) v3.11 and + later triggers issues like: + + traps: systemd[1] general protection ip:b738e490 sp:bf882fc0 error:0 in libc-2.16.so[b731c000+1b0000] + + and + + traps: rtkit-daemon[552] general protection ip:804d6e5 sp:b6cb32f0 error:0 in rtkit-daemon[8048000+d000] + + Once I hit the systemd error I can only get out of the mess that the + system is at that point by power cycling it. + +Since we are reverting another freezer-related change causing similar +problems to happen, this one should be reverted as well. + +References: https://lkml.org/lkml/2013/10/29/583 +Reported-by: Paul Bolle +Fixes: 9745cdb36da8 (select: use freezable blocking call) +Signed-off-by: Rafael J. Wysocki +Cc: 3.11+ # 3.11+ +--- + fs/select.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/fs/select.c b/fs/select.c +index 35d4adc7..dfd5cb1 100644 +--- a/fs/select.c ++++ b/fs/select.c +@@ -238,8 +238,7 @@ int poll_schedule_timeout(struct poll_wqueues *pwq, int state, + + set_current_state(state); + if (!pwq->triggered) +- rc = freezable_schedule_hrtimeout_range(expires, slack, +- HRTIMER_MODE_ABS); ++ rc = schedule_hrtimeout_range(expires, slack, HRTIMER_MODE_ABS); + __set_current_state(TASK_RUNNING); + + /* +-- +1.8.3.1 + diff --git a/kernel.spec b/kernel.spec index 5d44628..457c2bc 100644 --- a/kernel.spec +++ b/kernel.spec @@ -62,7 +62,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 100 +%global baserelease 101 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -798,6 +798,10 @@ Patch25138: intel-3.12-stable-fixes.patch #CVE-2013-4348 rhbz 1007939 1025647 Patch25139: net-flow_dissector-fail-on-evil-iph-ihl.patch +#rhbz 1010603 +Patch25140: 0001-Revert-epoll-use-freezable-blocking-call.patch +Patch25141: 0001-Revert-select-use-freezable-blocking-call.patch + # END OF PATCH DEFINITIONS %endif @@ -1533,6 +1537,10 @@ ApplyPatch intel-3.12-stable-fixes.patch #CVE-2013-4348 rhbz 1007939 1025647 ApplyPatch net-flow_dissector-fail-on-evil-iph-ihl.patch +#rhbz 1010603 +ApplyPatch 0001-Revert-epoll-use-freezable-blocking-call.patch +ApplyPatch 0001-Revert-select-use-freezable-blocking-call.patch + # END OF PATCH APPLICATIONS %endif @@ -2374,7 +2382,8 @@ fi # ||----w | # || || %changelog -* Fri Nov 01 2013 Josh Boyer +* Fri Nov 01 2013 Josh Boyer - 3.11.6-101 +- Revert blocking patches causing systemd to crash on resume (rhbz 1010603) - CVE-2013-4348 net: deadloop path in skb_flow_dissect (rhbz 1007939 1025647) * Thu Oct 31 2013 Josh Boyer