]> git.pld-linux.org Git - packages/kernel.git/blob - ow1-fix-2.2.22-rc1.patch
- obsolete
[packages/kernel.git] / ow1-fix-2.2.22-rc1.patch
1 diff -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.155822 seconds and 3 git commands to generate.