1 --- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100
2 +++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100
7 -#include "../../include/generated/autoconf.h"
8 +// PLD architectures don't use CONFIG_SYMBOL_PREFIX
9 +//#include "../../include/generated/autoconf.h"
10 #include "../../include/linux/license.h"
12 /* Some toolchains use a `_' prefix for all user symbols. */
14 --- linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh~ 2011-07-22 04:17:23.000000000 +0200
15 +++ linux-3.0/scripts/kconfig/lxdialog/check-lxdialog.sh 2011-08-25 21:26:04.799150642 +0200
17 $cc -print-file-name=lib${lib}.${ext} | grep -q /
20 + for libt in tinfow tinfo ; do
21 + $cc -print-file-name=lib${libt}.${ext} | grep -q /
22 + if [ $? -eq 0 ]; then
29 --- a/Makefile 2016-11-10 20:41:43.646224629 +0100
30 +++ b/Makefile 2016-11-10 20:40:35.640323501 +0100
32 # Prohibit date/time macros, which would make the build non-deterministic
33 KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
35 +# enforce correct pointer usage
36 +KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
38 # use the deterministic mode of AR if available
39 KBUILD_ARFLAGS := $(call ar-option,D)
42 From 7a29ac474a47eb8cf212b45917683ae89d6fa13b Mon Sep 17 00:00:00 2001
43 From: Chris Mason <clm@fb.com>
44 Date: Tue, 10 Nov 2015 10:10:34 +1100
45 Subject: xfs: give all workqueues rescuer threads
47 We're consistently hitting deadlocks here with XFS on recent kernels.
48 After some digging through the crash files, it looks like everyone in
49 the system is waiting for XFS to reclaim memory.
53 PID: 2733434 TASK: ffff8808cd242800 CPU: 19 COMMAND: "java"
54 #0 [ffff880019c53588] __schedule at ffffffff818c4df2
55 #1 [ffff880019c535d8] schedule at ffffffff818c5517
56 #2 [ffff880019c535f8] _xfs_log_force_lsn at ffffffff81316348
57 #3 [ffff880019c53688] xfs_log_force_lsn at ffffffff813164fb
58 #4 [ffff880019c536b8] xfs_iunpin_wait at ffffffff8130835e
59 #5 [ffff880019c53728] xfs_reclaim_inode at ffffffff812fd453
60 #6 [ffff880019c53778] xfs_reclaim_inodes_ag at ffffffff812fd8c7
61 #7 [ffff880019c53928] xfs_reclaim_inodes_nr at ffffffff812fe433
62 #8 [ffff880019c53958] xfs_fs_free_cached_objects at ffffffff8130d3b9
63 #9 [ffff880019c53968] super_cache_scan at ffffffff811a6f73
64 #10 [ffff880019c539c8] shrink_slab at ffffffff811460e6
65 #11 [ffff880019c53aa8] shrink_zone at ffffffff8114a53f
66 #12 [ffff880019c53b48] do_try_to_free_pages at ffffffff8114a8ba
67 #13 [ffff880019c53be8] try_to_free_pages at ffffffff8114ad5a
68 #14 [ffff880019c53c78] __alloc_pages_nodemask at ffffffff8113e1b8
69 #15 [ffff880019c53d88] alloc_kmem_pages_node at ffffffff8113e671
70 #16 [ffff880019c53dd8] copy_process at ffffffff8104f781
71 #17 [ffff880019c53ec8] do_fork at ffffffff8105129c
72 #18 [ffff880019c53f38] sys_clone at ffffffff810515b6
73 #19 [ffff880019c53f48] stub_clone at ffffffff818c8e4d
75 xfs_log_force_lsn is waiting for logs to get cleaned, which is waiting
76 for IO, which is waiting for workers to complete the IO which is waiting
77 for worker threads that don't exist yet:
79 PID: 2752451 TASK: ffff880bd6bdda00 CPU: 37 COMMAND: "kworker/37:1"
80 #0 [ffff8808d20abbb0] __schedule at ffffffff818c4df2
81 #1 [ffff8808d20abc00] schedule at ffffffff818c5517
82 #2 [ffff8808d20abc20] schedule_timeout at ffffffff818c7c6c
83 #3 [ffff8808d20abcc0] wait_for_completion_killable at ffffffff818c6495
84 #4 [ffff8808d20abd30] kthread_create_on_node at ffffffff8106ec82
85 #5 [ffff8808d20abdf0] create_worker at ffffffff8106752f
86 #6 [ffff8808d20abe40] worker_thread at ffffffff810699be
87 #7 [ffff8808d20abec0] kthread at ffffffff8106ef59
88 #8 [ffff8808d20abf50] ret_from_fork at ffffffff818c8ac8
90 I think we should be using WQ_MEM_RECLAIM to make sure this thread
91 pool makes progress when we're not able to allocate new workers.
93 [dchinner: make all workqueues WQ_MEM_RECLAIM]
95 Signed-off-by: Chris Mason <clm@fb.com>
96 Reviewed-by: Dave Chinner <dchinner@redhat.com>
97 Signed-off-by: Dave Chinner <david@fromorbit.com>
99 fs/xfs/xfs_super.c | 7 ++++---
100 1 file changed, 4 insertions(+), 3 deletions(-)
102 diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
103 index 29531ec..65fbfb7 100644
104 --- a/fs/xfs/xfs_super.c
105 +++ b/fs/xfs/xfs_super.c
106 @@ -838,17 +838,18 @@ xfs_init_mount_workqueues(
107 goto out_destroy_unwritten;
109 mp->m_reclaim_workqueue = alloc_workqueue("xfs-reclaim/%s",
110 - WQ_FREEZABLE, 0, mp->m_fsname);
111 + WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
112 if (!mp->m_reclaim_workqueue)
113 goto out_destroy_cil;
115 mp->m_log_workqueue = alloc_workqueue("xfs-log/%s",
116 - WQ_FREEZABLE|WQ_HIGHPRI, 0, mp->m_fsname);
117 + WQ_MEM_RECLAIM|WQ_FREEZABLE|WQ_HIGHPRI, 0,
119 if (!mp->m_log_workqueue)
120 goto out_destroy_reclaim;
122 mp->m_eofblocks_workqueue = alloc_workqueue("xfs-eofblocks/%s",
123 - WQ_FREEZABLE, 0, mp->m_fsname);
124 + WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname);
125 if (!mp->m_eofblocks_workqueue)
126 goto out_destroy_log;
128 From 5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4 Mon Sep 17 00:00:00 2001
129 From: Andrey Konovalov <andreyknvl@google.com>
130 Date: Thu, 16 Feb 2017 17:22:46 +0100
131 Subject: dccp: fix freeing skb too early for IPV6_RECVPKTINFO
133 In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet
134 is forcibly freed via __kfree_skb in dccp_rcv_state_process if
135 dccp_v6_conn_request successfully returns.
137 However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb
138 is saved to ireq->pktopts and the ref count for skb is incremented in
139 dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed
140 in dccp_rcv_state_process.
142 Fix by calling consume_skb instead of doing goto discard and therefore
145 Similar fixes for TCP:
147 fb7e2399ec17f1004c0e0ccfd17439f8759ede01 [TCP]: skb is unexpectedly freed.
148 0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now
151 Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
152 Acked-by: Eric Dumazet <edumazet@google.com>
153 Signed-off-by: David S. Miller <davem@davemloft.net>
155 net/dccp/input.c | 3 ++-
156 1 file changed, 2 insertions(+), 1 deletion(-)
158 diff --git a/net/dccp/input.c b/net/dccp/input.c
159 index ba34718..8fedc2d 100644
160 --- a/net/dccp/input.c
161 +++ b/net/dccp/input.c
162 @@ -606,7 +606,8 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
163 if (inet_csk(sk)->icsk_af_ops->conn_request(sk,
170 if (dh->dccph_type == DCCP_PKT_RESET)