Root/target/linux/generic-2.4/patches/110-netdev_random_core.patch

1--- a/Documentation/Configure.help
2+++ b/Documentation/Configure.help
3@@ -10687,6 +10687,20 @@ CONFIG_TUN
4 
5   If you don't know what to use this for, you don't need it.
6 
7+Allow Net Devices to contribute to /dev/random
8+CONFIG_NET_RANDOM
9+ If you say Y here, network device interrupts will contribute to the
10+ kernel entropy pool. Normally, block devices and some other devices
11+ feed the pool. Some systems, such as those that are headless or diskless,
12+ need additional entropy sources. Some people, however, feel that network
13+ devices should not contribute to /dev/random because an external attacker
14+ could observe incoming packets in an attempt to learn the entropy pool's
15+ state. If you say N, no network device will contribute entropy.
16+
17+ If you believe there is a chance of your network packets being observed
18+ and you doubt the security of the entropy pool's one-way hash, do not
19+ enable this. If unsure, say N.
20+
21 Ethertap network tap (OBSOLETE)
22 CONFIG_ETHERTAP
23   If you say Y here (and have said Y to "Kernel/User network link
24--- a/drivers/net/Config.in
25+++ b/drivers/net/Config.in
26@@ -8,6 +8,7 @@ tristate 'Dummy net driver support' CONF
27 tristate 'Bonding driver support' CONFIG_BONDING
28 tristate 'EQL (serial line load balancing) support' CONFIG_EQUALIZER
29 tristate 'Universal TUN/TAP device driver support' CONFIG_TUN
30+bool 'Allow Net Devices to contribute to /dev/random' CONFIG_NET_RANDOM
31 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
32    tristate 'Ethertap network tap (OBSOLETE)' CONFIG_ETHERTAP
33 fi
34--- a/include/asm-alpha/signal.h
35+++ b/include/asm-alpha/signal.h
36@@ -121,8 +121,15 @@ typedef unsigned long sigset_t;
37 #define SA_PROBE SA_ONESHOT
38 #define SA_SAMPLE_RANDOM SA_RESTART
39 #define SA_SHIRQ 0x40000000
40+
41+#ifdef CONFIG_NET_RANDOM
42+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
43+#else
44+#define SA_NET_RANDOM 0
45 #endif
46 
47+#endif /* __KERNEL__ */
48+
49 #define SIG_BLOCK 1 /* for blocking signals */
50 #define SIG_UNBLOCK 2 /* for unblocking signals */
51 #define SIG_SETMASK 3 /* for setting the signal mask */
52--- a/include/asm-arm/signal.h
53+++ b/include/asm-arm/signal.h
54@@ -125,8 +125,15 @@ typedef unsigned long sigset_t;
55 #define SA_PROBE 0x80000000
56 #define SA_SAMPLE_RANDOM 0x10000000
57 #define SA_SHIRQ 0x04000000
58+
59+#ifdef CONFIG_NET_RANDOM
60+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
61+#else
62+#define SA_NET_RANDOM 0
63 #endif
64 
65+#endif /* __KERNEL__ */
66+
67 #define SIG_BLOCK 0 /* for blocking signals */
68 #define SIG_UNBLOCK 1 /* for unblocking signals */
69 #define SIG_SETMASK 2 /* for setting the signal mask */
70--- a/include/asm-cris/signal.h
71+++ b/include/asm-cris/signal.h
72@@ -120,8 +120,15 @@ typedef unsigned long sigset_t;
73 #define SA_PROBE SA_ONESHOT
74 #define SA_SAMPLE_RANDOM SA_RESTART
75 #define SA_SHIRQ 0x04000000
76+
77+#ifdef CONFIG_NET_RANDOM
78+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
79+#else
80+#define SA_NET_RANDOM 0
81 #endif
82 
83+#endif /* __KERNEL__ */
84+
85 #define SIG_BLOCK 0 /* for blocking signals */
86 #define SIG_UNBLOCK 1 /* for unblocking signals */
87 #define SIG_SETMASK 2 /* for setting the signal mask */
88--- a/include/asm-i386/signal.h
89+++ b/include/asm-i386/signal.h
90@@ -119,8 +119,15 @@ typedef unsigned long sigset_t;
91 #define SA_PROBE SA_ONESHOT
92 #define SA_SAMPLE_RANDOM SA_RESTART
93 #define SA_SHIRQ 0x04000000
94+
95+#ifdef CONFIG_NET_RANDOM
96+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
97+#else
98+#define SA_NET_RANDOM 0
99 #endif
100 
101+#endif /* __KERNEL__ */
102+
103 #define SIG_BLOCK 0 /* for blocking signals */
104 #define SIG_UNBLOCK 1 /* for unblocking signals */
105 #define SIG_SETMASK 2 /* for setting the signal mask */
106--- a/include/asm-ia64/signal.h
107+++ b/include/asm-ia64/signal.h
108@@ -117,6 +117,12 @@
109 #define SA_SHIRQ 0x04000000
110 #define SA_PERCPU_IRQ 0x02000000
111 
112+#ifdef CONFIG_NET_RANDOM
113+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
114+#else
115+#define SA_NET_RANDOM 0
116+#endif
117+
118 #endif /* __KERNEL__ */
119 
120 #define SIG_BLOCK 0 /* for blocking signals */
121--- a/include/asm-m68k/signal.h
122+++ b/include/asm-m68k/signal.h
123@@ -116,8 +116,15 @@ typedef unsigned long sigset_t;
124 #define SA_PROBE SA_ONESHOT
125 #define SA_SAMPLE_RANDOM SA_RESTART
126 #define SA_SHIRQ 0x04000000
127+
128+#ifdef CONFIG_NET_RANDOM
129+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
130+#else
131+#define SA_NET_RANDOM 0
132 #endif
133 
134+#endif /* __KERNEL__ */
135+
136 #define SIG_BLOCK 0 /* for blocking signals */
137 #define SIG_UNBLOCK 1 /* for unblocking signals */
138 #define SIG_SETMASK 2 /* for setting the signal mask */
139--- a/include/asm-mips/signal.h
140+++ b/include/asm-mips/signal.h
141@@ -111,6 +111,12 @@ typedef unsigned long old_sigset_t; /*
142 #define SA_SAMPLE_RANDOM SA_RESTART
143 #define SA_SHIRQ 0x02000000
144 
145+#ifdef CONFIG_NET_RANDOM
146+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
147+#else
148+#define SA_NET_RANDOM 0
149+#endif
150+
151 #endif /* __KERNEL__ */
152 
153 #define SIG_BLOCK 1 /* for blocking signals */
154--- a/include/asm-mips64/signal.h
155+++ b/include/asm-mips64/signal.h
156@@ -119,6 +119,12 @@ typedef unsigned int old_sigset_t32;
157 #define SA_SAMPLE_RANDOM SA_RESTART
158 #define SA_SHIRQ 0x02000000
159 
160+#ifdef CONFIG_NET_RANDOM
161+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
162+#else
163+#define SA_NET_RANDOM 0
164+#endif
165+
166 #endif /* __KERNEL__ */
167 
168 #define SIG_BLOCK 1 /* for blocking signals */
169--- a/include/asm-parisc/signal.h
170+++ b/include/asm-parisc/signal.h
171@@ -100,6 +100,12 @@
172 #define SA_SAMPLE_RANDOM SA_RESTART
173 #define SA_SHIRQ 0x04000000
174 
175+#ifdef CONFIG_NET_RANDOM
176+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
177+#else
178+#define SA_NET_RANDOM 0
179+#endif
180+
181 #endif /* __KERNEL__ */
182 
183 #define SIG_BLOCK 0 /* for blocking signals */
184--- a/include/asm-ppc/signal.h
185+++ b/include/asm-ppc/signal.h
186@@ -111,6 +111,13 @@ typedef struct {
187 #define SA_PROBE SA_ONESHOT
188 #define SA_SAMPLE_RANDOM SA_RESTART
189 #define SA_SHIRQ 0x04000000
190+
191+#ifdef CONFIG_NET_RANDOM
192+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
193+#else
194+#define SA_NET_RANDOM 0
195+#endif
196+
197 #endif /* __KERNEL__ */
198 
199 #define SIG_BLOCK 0 /* for blocking signals */
200--- a/include/asm-s390/signal.h
201+++ b/include/asm-s390/signal.h
202@@ -129,8 +129,15 @@ typedef unsigned long sigset_t;
203 #define SA_SHIRQ 0x04000000
204 #define SA_DOPATHGROUP 0x00100000
205 #define SA_FORCE 0x00200000
206+
207+#ifdef CONFIG_NET_RANDOM
208+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
209+#else
210+#define SA_NET_RANDOM 0
211 #endif
212 
213+#endif /* __KERNEL__ */
214+
215 #define SIG_BLOCK 0 /* for blocking signals */
216 #define SIG_UNBLOCK 1 /* for unblocking signals */
217 #define SIG_SETMASK 2 /* for setting the signal mask */
218--- a/include/asm-s390x/signal.h
219+++ b/include/asm-s390x/signal.h
220@@ -129,8 +129,15 @@ typedef unsigned long sigset_t;
221 #define SA_SHIRQ 0x04000000
222 #define SA_DOPATHGROUP 0x00100000
223 #define SA_FORCE 0x00200000
224+
225+#ifdef CONFIG_NET_RANDOM
226+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
227+#else
228+#define SA_NET_RANDOM 0
229 #endif
230 
231+#endif /* __KERNEL__ */
232+
233 #define SIG_BLOCK 0 /* for blocking signals */
234 #define SIG_UNBLOCK 1 /* for unblocking signals */
235 #define SIG_SETMASK 2 /* for setting the signal mask */
236--- a/include/asm-sh/signal.h
237+++ b/include/asm-sh/signal.h
238@@ -107,8 +107,15 @@ typedef struct {
239 #define SA_PROBE SA_ONESHOT
240 #define SA_SAMPLE_RANDOM SA_RESTART
241 #define SA_SHIRQ 0x04000000
242+
243+#ifdef CONFIG_NET_RANDOM
244+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
245+#else
246+#define SA_NET_RANDOM 0
247 #endif
248 
249+#endif /* __KERNEL__ */
250+
251 #define SIG_BLOCK 0 /* for blocking signals */
252 #define SIG_UNBLOCK 1 /* for unblocking signals */
253 #define SIG_SETMASK 2 /* for setting the signal mask */
254--- a/include/asm-sparc/signal.h
255+++ b/include/asm-sparc/signal.h
256@@ -176,8 +176,15 @@ struct sigstack {
257 #define SA_PROBE SA_ONESHOT
258 #define SA_SAMPLE_RANDOM SA_RESTART
259 #define SA_STATIC_ALLOC 0x80
260+
261+#ifdef CONFIG_NET_RANDOM
262+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
263+#else
264+#define SA_NET_RANDOM 0
265 #endif
266 
267+#endif /* __KERNEL__ */
268+
269 /* Type of a signal handler. */
270 #ifdef __KERNEL__
271 typedef void (*__sighandler_t)(int, int, struct sigcontext *, char *);
272--- a/include/asm-sparc64/signal.h
273+++ b/include/asm-sparc64/signal.h
274@@ -192,8 +192,15 @@ struct sigstack {
275 #define SA_PROBE SA_ONESHOT
276 #define SA_SAMPLE_RANDOM SA_RESTART
277 #define SA_STATIC_ALLOC 0x80
278+
279+#ifdef CONFIG_NET_RANDOM
280+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
281+#else
282+#define SA_NET_RANDOM 0
283 #endif
284 
285+#endif /* __KERNEL__ */
286+
287 /* Type of a signal handler. */
288 #ifdef __KERNEL__
289 typedef void (*__sighandler_t)(int, struct sigcontext *);
290

Archive Download this file



interactive