]> git.pld-linux.org Git - packages/kernel.git/blame - ow1-fix-2.2.22-rc1.patch
- obsolete
[packages/kernel.git] / ow1-fix-2.2.22-rc1.patch
CommitLineData
cf8b2bbd
KT
1diff -urN linux.orig/linux-2.2.21-ow1/linux-2.2.21-ow1.diff linux/linux-2.2.21-ow1/linux-2.2.21-ow1.diff
2--- linux.orig/linux-2.2.21-ow1/linux-2.2.21-ow1.diff Sat May 25 19:44:23 2002
3+++ linux/linux-2.2.21-ow1/linux-2.2.21-ow1.diff Sat Aug 24 11:53:04 2002
4@@ -193,18 +193,6 @@
5
6 #
7 # Kernel hacking
8-diff -urPX nopatch linux-2.2.21/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S
9---- linux-2.2.21/arch/alpha/kernel/entry.S Fri Nov 2 19:39:05 2001
10-+++ linux/arch/alpha/kernel/entry.S Sat May 25 20:26:03 2002
11-@@ -556,7 +556,7 @@
12- lda $5,sys_call_table
13- lda $27,sys_ni_syscall
14- cmpult $0,$4,$4
15-- ldq $3,TASK_FLAGS($8)
16-+ ldq $3,TASK_PTRACE($8)
17- stq $17,SP_OFF+32($30)
18- s8addq $0,$5,$5
19- and $3,PT_PTRACED,$3
20 diff -urPX nopatch linux-2.2.21/arch/arm/config.in linux/arch/arm/config.in
21 --- linux-2.2.21/arch/arm/config.in Sun Mar 25 20:31:54 2001
22 +++ linux/arch/arm/config.in Sat May 25 20:26:03 2002
23@@ -964,29 +952,6 @@
24
25 #
26 # Watchdog
27-diff -urPX nopatch linux-2.2.21/drivers/net/zlib.c linux/drivers/net/zlib.c
28---- linux-2.2.21/drivers/net/zlib.c Tue May 21 03:32:35 2002
29-+++ linux/drivers/net/zlib.c Sat May 25 20:33:16 2002
30-@@ -3938,7 +3938,6 @@
31- r = t;
32- LEAVE
33- }
34-- ZFREE(z, s->sub.trees.blens);
35- Tracev((stderr, "inflate: trees ok, %d * %d bytes used\n",
36- inflate_hufts, sizeof(inflate_huft)));
37- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
38-diff -urPX nopatch linux-2.2.21/drivers/scsi/st.c linux/drivers/scsi/st.c
39---- linux-2.2.21/drivers/scsi/st.c Fri Nov 2 19:39:08 2001
40-+++ linux/drivers/scsi/st.c Sat May 25 20:26:27 2002
41-@@ -1463,7 +1463,7 @@
42- if (transfer < 0) {
43- if (STps->drv_block >= 0)
44- STps->drv_block += 1;
45-- return (-ENOMEM);
46-+ return (-EIO);
47- }
48- (STp->buffer)->buffer_bytes = bytes - transfer;
49- }
50 diff -urPX nopatch linux-2.2.21/fs/binfmt_aout.c linux/fs/binfmt_aout.c
51 --- linux-2.2.21/fs/binfmt_aout.c Fri Nov 2 19:39:08 2001
52 +++ linux/fs/binfmt_aout.c Sat May 25 20:26:27 2002
53@@ -1430,59 +1395,6 @@
54
55 current->dumpable = was_dumpable;
56
57-diff -urPX nopatch linux-2.2.21/fs/ext2/file.c linux/fs/ext2/file.c
58---- linux-2.2.21/fs/ext2/file.c Sun Mar 25 20:30:58 2001
59-+++ linux/fs/ext2/file.c Sat May 25 20:26:27 2002
60-@@ -164,15 +164,15 @@
61- int err;
62- int i,buffercount,write_error, new_buffer;
63- unsigned long limit;
64--
65-+
66- /* POSIX: mtime/ctime may not change for 0 count */
67- if (!count)
68- return 0;
69- /* This makes the bounds-checking arithmetic later on much more
70- * sane. */
71-- if (((signed) count) < 0)
72-+ if (((ssize_t) count) < 0)
73- return -EINVAL;
74--
75-+
76- write_error = buffercount = 0;
77- if (!inode) {
78- printk("ext2_file_write: inode = NULL\n");
79-@@ -206,15 +206,15 @@
80- /* If the fd's pos is already greater than or equal to the file
81- * descriptor's offset maximum, then we need to return EFBIG for
82- * any non-zero count (and we already tested for zero above). */
83-- if (((unsigned) pos) >= 0x7FFFFFFFUL)
84-+ if (((unsigned long) pos) >= 0x7FFFFFFFUL)
85- return -EFBIG;
86-
87- /* If we are about to overflow the maximum file size, we also
88- * need to return the error, but only if no bytes can be written
89- * successfully. */
90-- if (((unsigned) pos + count) > 0x7FFFFFFFUL) {
91-+ if (((unsigned long) pos + count) > 0x7FFFFFFFUL) {
92- count = 0x7FFFFFFFL - pos;
93-- if (((signed) count) < 0)
94-+ if (((ssize_t) count) < 0)
95- return -EFBIG;
96- }
97- #else
98-@@ -246,9 +246,9 @@
99-
100- limit = current->rlim[RLIMIT_FSIZE].rlim_cur;
101- if (limit < RLIM_INFINITY) {
102-- if (((unsigned) pos+count) >= limit) {
103-+ if (((unsigned long) pos + count) >= limit) {
104- count = limit - pos;
105-- if (((signed) count) <= 0) {
106-+ if (((ssize_t) count) <= 0) {
107- send_sig(SIGXFSZ, current, 0);
108- return -EFBIG;
109- }
110 diff -urPX nopatch linux-2.2.21/fs/namei.c linux/fs/namei.c
111 --- linux-2.2.21/fs/namei.c Fri Nov 2 19:39:08 2001
112 +++ linux/fs/namei.c Sat May 25 20:26:27 2002
113@@ -1717,25 +1629,6 @@
114 }
115 if (ino & PROC_PID_FD_DIR) {
116 struct file * file;
117-diff -urPX nopatch linux-2.2.21/fs/proc/proc_tty.c linux/fs/proc/proc_tty.c
118---- linux-2.2.21/fs/proc/proc_tty.c Sun Mar 25 20:30:58 2001
119-+++ linux/fs/proc/proc_tty.c Sat May 25 20:26:27 2002
120-@@ -178,7 +178,14 @@
121- if (!ent)
122- return;
123- proc_tty_ldisc = create_proc_entry("tty/ldisc", S_IFDIR, 0);
124-- proc_tty_driver = create_proc_entry("tty/driver", S_IFDIR, 0);
125-+ /*
126-+ * /proc/tty/driver/serial reveals the exact character counts for
127-+ * serial links which is just too easy to abuse for inferring
128-+ * password lengths and inter-keystroke timings during password
129-+ * entry.
130-+ */
131-+ proc_tty_driver = create_proc_entry("tty/driver",
132-+ S_IFDIR | S_IRUSR | S_IXUSR, 0);
133-
134- ent = create_proc_entry("tty/ldiscs", 0, 0);
135- ent->read_proc = tty_ldiscs_read_proc;
136 diff -urPX nopatch linux-2.2.21/fs/proc/root.c linux/fs/proc/root.c
137 --- linux-2.2.21/fs/proc/root.c Tue May 21 03:32:35 2002
138 +++ linux/fs/proc/root.c Sat May 25 20:26:27 2002
139@@ -1954,17 +1847,6 @@
140
141 /*
142 * Ptrace flags
143-diff -urPX nopatch linux-2.2.21/include/linux/stat.h linux/include/linux/stat.h
144---- linux-2.2.21/include/linux/stat.h Sun Mar 25 20:31:03 2001
145-+++ linux/include/linux/stat.h Sat May 25 20:26:53 2002
146-@@ -52,6 +52,7 @@
147- #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH)
148- #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH)
149- #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH)
150-+#define S_IRXUG (S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP)
151- #endif
152-
153- #endif
154 diff -urPX nopatch linux-2.2.21/ipc/shm.c linux/ipc/shm.c
155 --- linux-2.2.21/ipc/shm.c Sun Mar 25 20:37:40 2001
156 +++ linux/ipc/shm.c Sat May 25 20:26:53 2002
157@@ -2094,120 +1976,6 @@
158 return do_syslog(type, buf, len);
159 }
160
161-@@ -260,7 +266,7 @@
162-
163- spin_lock_irqsave(&console_lock, flags);
164- va_start(args, fmt);
165-- i = vsprintf(buf + 3, fmt, args); /* hopefully i < sizeof(buf)-4 */
166-+ i = _vsnprintf(buf + 3, sizeof(buf) - sizeof(buf) / 8 - 3, fmt, args);
167- buf_end = buf + 3 + i;
168- va_end(args);
169- for (p = buf + 3; p < buf_end; p++) {
170-diff -urPX nopatch linux-2.2.21/kernel/sys.c linux/kernel/sys.c
171---- linux-2.2.21/kernel/sys.c Sun Mar 25 20:37:40 2001
172-+++ linux/kernel/sys.c Sat May 25 21:27:04 2002
173-@@ -507,8 +507,8 @@
174- if (euid != current->euid)
175- current->dumpable = 0;
176- current->euid = euid;
177-- current->fsuid = euid;
178- }
179-+ current->fsuid = current->euid;
180- if (suid != (uid_t) -1)
181- current->suid = suid;
182-
183-@@ -554,8 +554,8 @@
184- if (egid != current->egid)
185- current->dumpable = 0;
186- current->egid = egid;
187-- current->fsgid = egid;
188- }
189-+ current->fsgid = current->egid;
190- if (sgid != (gid_t) -1)
191- current->sgid = sgid;
192- return 0;
193-diff -urPX nopatch linux-2.2.21/kernel/sysctl.c linux/kernel/sysctl.c
194---- linux-2.2.21/kernel/sysctl.c Sun Mar 25 20:37:40 2001
195-+++ linux/kernel/sysctl.c Sat May 25 20:26:53 2002
196-@@ -338,8 +338,11 @@
197- size_t old_len;
198- if (!oldlenp)
199- return -EFAULT;
200-- if(get_user(old_len, oldlenp))
201-+ if (get_user(old_len, oldlenp))
202- return -EFAULT;
203-+ /* XXX: insufficient for SMP, but should be redundant anyway */
204-+ if ((ssize_t)old_len < 0)
205-+ return -EINVAL;
206- }
207- tmp = &root_table_header;
208- do {
209-@@ -459,7 +462,8 @@
210- * zero, proceed with automatic r/w */
211- if (table->data && table->maxlen) {
212- if (oldval && oldlenp) {
213-- get_user(len, oldlenp);
214-+ if (get_user(len, oldlenp))
215-+ return -EFAULT;
216- if (len) {
217- if (len > table->maxlen)
218- len = table->maxlen;
219-@@ -1047,7 +1051,8 @@
220-
221- for (i = 0; i < length; i++) {
222- int value;
223-- get_user(value, vec + i);
224-+ if (get_user(value, vec + i))
225-+ return -EFAULT;
226- if (min && value < min[i])
227- return -EINVAL;
228- if (max && value > max[i])
229-diff -urPX nopatch linux-2.2.21/lib/vsprintf.c linux/lib/vsprintf.c
230---- linux-2.2.21/lib/vsprintf.c Sun Mar 25 20:31:02 2001
231-+++ linux/lib/vsprintf.c Sat May 25 20:26:53 2002
232-@@ -142,7 +142,7 @@
233- /* Forward decl. needed for IP address printing stuff... */
234- int sprintf(char * buf, const char *fmt, ...);
235-
236--int vsprintf(char *buf, const char *fmt, va_list args)
237-+int _vsnprintf(char *buf, int n, const char *fmt, va_list args)
238- {
239- int len;
240- unsigned long num;
241-@@ -157,7 +157,7 @@
242- number of chars for from string */
243- int qualifier; /* 'h', 'l', or 'L' for integer fields */
244-
245-- for (str=buf ; *fmt ; ++fmt) {
246-+ for (str = buf; *fmt && (n == -1 || str - buf < n); ++fmt) {
247- if (*fmt != '%') {
248- *str++ = *fmt;
249- continue;
250-@@ -231,6 +231,12 @@
251-
252- len = strnlen(s, precision);
253-
254-+ if (n != -1 && len >= n - (str - buf)) {
255-+ len = n - 1 - (str - buf);
256-+ if (len <= 0) break;
257-+ if (len < field_width) field_width = len;
258-+ }
259-+
260- if (!(flags & LEFT))
261- while (len < field_width--)
262- *str++ = ' ';
263-@@ -304,6 +310,11 @@
264- }
265- *str = '\0';
266- return str-buf;
267-+}
268-+
269-+int vsprintf(char *buf, const char *fmt, va_list args)
270-+{
271-+ return _vsnprintf(buf, -1, fmt, args);
272- }
273-
274- int sprintf(char * buf, const char *fmt, ...)
275 diff -urPX nopatch linux-2.2.21/mm/mmap.c linux/mm/mmap.c
276 --- linux-2.2.21/mm/mmap.c Sun Mar 25 20:31:02 2001
277 +++ linux/mm/mmap.c Sat May 25 20:26:53 2002
This page took 0.237183 seconds and 4 git commands to generate.