home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / kernel-s / v1.2 / patch-1.002 / patch-1.2.11
Text File  |  1995-06-26  |  11KB  |  297 lines

  1. diff -u --recursive --new-file v1.2.10/linux/Makefile linux/Makefile
  2. --- v1.2.10/linux/Makefile    Tue Jun 13 14:40:00 1995
  3. +++ linux/Makefile    Tue Jun 13 14:39:50 1995
  4. @@ -1,6 +1,6 @@
  5.  VERSION = 1
  6.  PATCHLEVEL = 2
  7. -SUBLEVEL = 10
  8. +SUBLEVEL = 11
  9.  
  10.  ARCH = i386
  11.  
  12. diff -u --recursive --new-file v1.2.10/linux/arch/i386/kernel/vm86.c linux/arch/i386/kernel/vm86.c
  13. --- v1.2.10/linux/arch/i386/kernel/vm86.c    Mon May 29 11:16:03 1995
  14. +++ linux/arch/i386/kernel/vm86.c    Wed Jun 14 09:43:12 1995
  15. @@ -217,6 +217,8 @@
  16.  
  17.  static inline int is_revectored(int nr, struct revectored_struct * bitmap)
  18.  {
  19. +    if (verify_area(VERIFY_READ, bitmap, 256/8) < 0)
  20. +        return 1;
  21.      __asm__ __volatile__("btl %2,%%fs:%1\n\tsbbl %0,%0"
  22.          :"=r" (nr)
  23.          :"m" (*bitmap),"r" (nr));
  24. @@ -298,22 +300,32 @@
  25.  
  26.  static void do_int(struct vm86_regs *regs, int i, unsigned char * ssp, unsigned long sp)
  27.  {
  28. -    unsigned short seg = get_fs_word((void *) ((i<<2)+2));
  29. +    unsigned short *intr_ptr, seg;
  30.  
  31. -    if (seg == BIOSSEG || regs->cs == BIOSSEG ||
  32. -        is_revectored(i, ¤t->tss.vm86_info->int_revectored))
  33. -        return_to_32bit(regs, VM86_INTx + (i << 8));
  34. +    if (regs->cs == BIOSSEG)
  35. +        goto cannot_handle;
  36. +    if (is_revectored(i, ¤t->tss.vm86_info->int_revectored))
  37. +        goto cannot_handle;
  38.      if (i==0x21 && is_revectored(AH(regs),¤t->tss.vm86_info->int21_revectored))
  39. -        return_to_32bit(regs, VM86_INTx + (i << 8));
  40. +        goto cannot_handle;
  41. +    intr_ptr = (unsigned short *) (i << 2);
  42. +    if (verify_area(VERIFY_READ, intr_ptr, 4) < 0)
  43. +        goto cannot_handle;
  44. +    seg = get_fs_word(intr_ptr+1);
  45. +    if (seg == BIOSSEG)
  46. +        goto cannot_handle;
  47.      pushw(ssp, sp, get_vflags(regs));
  48.      pushw(ssp, sp, regs->cs);
  49.      pushw(ssp, sp, IP(regs));
  50.      regs->cs = seg;
  51.      SP(regs) -= 6;
  52. -    IP(regs) = get_fs_word((void *) (i<<2));
  53. +    IP(regs) = get_fs_word(intr_ptr+0);
  54.      clear_TF(regs);
  55.      clear_IF(regs);
  56.      return;
  57. +
  58. +cannot_handle:
  59. +    return_to_32bit(regs, VM86_INTx + (i << 8));
  60.  }
  61.  
  62.  void handle_vm86_debug(struct vm86_regs * regs, long error_code)
  63. diff -u --recursive --new-file v1.2.10/linux/drivers/block/sonycd535.c linux/drivers/block/sonycd535.c
  64. --- v1.2.10/linux/drivers/block/sonycd535.c    Tue Jun 13 14:40:01 1995
  65. +++ linux/drivers/block/sonycd535.c    Tue Jun 13 15:23:48 1995
  66. @@ -28,7 +28,7 @@
  67.   *      (Heiko Eissfeldt <heiko@colossus.escape.de>)
  68.   *
  69.   * 1995-06-01
  70. - *  More chages to support CDU-510/515 series
  71. + *  More changes to support CDU-510/515 series
  72.   *      (Claudio Porfiri<C.Porfiri@nisms.tei.ericsson.se>)
  73.   *
  74.   * Things to do:
  75. diff -u --recursive --new-file v1.2.10/linux/drivers/net/arcnet.c linux/drivers/net/arcnet.c
  76. --- v1.2.10/linux/drivers/net/arcnet.c    Sun Apr  9 11:59:56 1995
  77. +++ linux/drivers/net/arcnet.c    Mon Jun 26 10:27:35 1995
  78. @@ -2,7 +2,7 @@
  79.      Written 1994-95 by Avery Pennarun, derived from skeleton.c by
  80.          Donald Becker.
  81.  
  82. -    Contact Avery at: apenwarr@tourism.807-city.on.ca or
  83. +    Contact Avery at: apenwarr@foxnet.net or
  84.      RR #5 Pole Line Road, Thunder Bay, ON, Canada P7C 5M9
  85.      
  86.      **********************
  87. @@ -15,6 +15,13 @@
  88.           
  89.      **********************
  90.  
  91. +    v1.02 (95/06/21)
  92. +      - A fix to make "exception" packets sent from Linux receivable
  93. +        on other systems.  (The protocol_id byte was sometimes being set
  94. +        incorrectly, and Linux wasn't checking it on receive so it
  95. +        didn't show up)
  96. +      - Updated my email address.  Please use apenwarr@foxnet.net
  97. +        from now on.
  98.      v1.01 (95/03/24)
  99.        - Fixed some IPX-related bugs. (Thanks to Tomasz Motylewski
  100.              <motyl@tichy.ch.uj.edu.pl> for the patches to make arcnet work
  101. @@ -79,7 +86,7 @@
  102.   * 8 times every second.
  103.   *
  104.   * This should no longer be necessary.  if you experience "stuck" ARCnet
  105. - * drivers, please email apenwarr@tourism.807-city.on.ca or I will remove
  106. + * drivers, please email apenwarr@foxnet.net or I will remove
  107.   * this feature in a future release.
  108.   */
  109.  #undef USE_TIMER_HANDLER
  110. @@ -87,7 +94,7 @@
  111.  /**************************************************************************/
  112.   
  113.  static char *version =
  114. - "arcnet.c:v1.01 95/03/24 Avery Pennarun <apenwarr@tourism.807-city.on.ca>\n";
  115. + "arcnet.c:v1.02 95/06/21 Avery Pennarun <apenwarr@foxnet.net>\n";
  116.  
  117.  /*
  118.    Sources:
  119. @@ -1250,7 +1257,7 @@
  120.           * make the packet long enough to fit in a 512-byte
  121.           * frame.
  122.           */
  123. -        arcpacket->raw[offset+0]=arcsoft->protocol_id;
  124. +        arcpacket->raw[offset+0]=hdr->protocol_id;
  125.          arcpacket->raw[offset+1]=0xFF; /* FF flag */
  126.              arcpacket->raw[offset+2]=0xFF; /* FF padding */
  127.              arcpacket->raw[offset+3]=0xFF; /* FF padding */
  128. diff -u --recursive --new-file v1.2.10/linux/drivers/scsi/53c7,8xx.c linux/drivers/scsi/53c7,8xx.c
  129. --- v1.2.10/linux/drivers/scsi/53c7,8xx.c    Mon May 29 11:16:07 1995
  130. +++ linux/drivers/scsi/53c7,8xx.c    Mon Jun 26 10:23:28 1995
  131. @@ -271,8 +271,8 @@
  132.  struct pci_chip {
  133.      unsigned short pci_device_id;
  134.      int chip;
  135. -    int max_revision;
  136.      int min_revision;
  137. +    int max_revision;
  138.  };
  139.  
  140.  static struct pci_chip pci_chip_ids[] = { 
  141. @@ -351,7 +351,7 @@
  142.      } else {
  143.          overrides[commandline_current].data.pci.bus = ints[1];
  144.          overrides[commandline_current].data.pci.device = ints[2];
  145. -        overrides[commandline_current].data.pci.device = ints[3];
  146. +        overrides[commandline_current].data.pci.function = ints[3];
  147.              overrides[commandline_current].options = (ints[0] >= 4) ?
  148.                  ints[4] : 0;
  149.      }
  150. diff -u --recursive --new-file v1.2.10/linux/drivers/scsi/u14-34f.c linux/drivers/scsi/u14-34f.c
  151. --- v1.2.10/linux/drivers/scsi/u14-34f.c    Wed Mar 29 06:52:59 1995
  152. +++ linux/drivers/scsi/u14-34f.c    Tue Jun 13 14:39:29 1995
  153. @@ -1,6 +1,10 @@
  154.  /*
  155.   *      u14-34f.c - Low-level driver for UltraStor 14F/34F SCSI host adapters.
  156.   *
  157. + *      13 Jun 1995 rev. 2.01 for linux 1.2.10
  158. + *         HAVE_OLD_UX4F_FIRMWARE should be defined for U34F boards when
  159. + *         the firmware prom is not the lastest one (28008-006).
  160. + *
  161.   *      11 Mar 1995 rev. 2.00 for linux 1.2.0
  162.   *          Fixed a bug which prevented media change detection for removable
  163.   *          disk drives.
  164. @@ -53,11 +57,11 @@
  165.   *
  166.   *      Copyright (C) 1994, 1995 Dario Ballabio (dario@milano.europe.dg.com)
  167.   *
  168. - *      WARNING: if your 14F board has an old firmware revision (see below)
  169. + *      WARNING: if your 14/34F board has an old firmware revision (see below)
  170.   *               you must change "#undef" into "#define" in the following
  171.   *               statement.
  172.   */
  173. -#undef HAVE_OLD_U14F_FIRMWARE
  174. +#undef HAVE_OLD_UX4F_FIRMWARE
  175.  /*
  176.   *  The UltraStor 14F, 24F, and 34F are a family of intelligent, high
  177.   *  performance SCSI-2 host adapters.
  178. @@ -124,6 +128,10 @@
  179.   *
  180.   *    The new firmware has fixed all the above problems.
  181.   *
  182. + *  For U34F boards the latest bios prom is 38008-002 (BIOS rev. 2.01),
  183. + *  the latest firmware prom is 28008-006. Older firmware 28008-005 has
  184. + *  problems when using more then 16 scatter/gather lists.
  185. + *
  186.   *  In order to support multiple ISA boards in a reliable way,
  187.   *  the driver sets host->wish_block = TRUE for all ISA boards.
  188.   */
  189. @@ -449,6 +457,11 @@
  190.     irqlist[irq] = j;
  191.  
  192.     if (HD(j)->subversion == ESA) {
  193. +
  194. +#if defined (HAVE_OLD_UX4F_FIRMWARE)
  195. +      sh[j]->sg_tablesize = MAX_SAFE_SGLIST;
  196. +#endif
  197. +
  198.        sh[j]->dma_channel = NO_DMA;
  199.        sh[j]->unchecked_isa_dma = FALSE;
  200.        sprintf(BN(j), "U34F%d", j);
  201. @@ -456,7 +469,7 @@
  202.     else {
  203.        sh[j]->wish_block = TRUE;
  204.  
  205. -#if defined (HAVE_OLD_U14F_FIRMWARE)
  206. +#if defined (HAVE_OLD_UX4F_FIRMWARE)
  207.        sh[j]->hostt->use_clustering = DISABLE_CLUSTERING;
  208.        sh[j]->sg_tablesize = MAX_SAFE_SGLIST;
  209.  #endif
  210. @@ -475,7 +488,7 @@
  211.  
  212.        if (strcmp(&HD(j)->board_id[32], "06000600")) {
  213.           printk("%s: %s.\n", BN(j), &HD(j)->board_id[8]);
  214. -         printk("%s: firmware %s is outdated, BIOS rev. should be 2.01.\n", 
  215. +         printk("%s: firmware %s is outdated, FW PROM should be 28004-006.\n",
  216.                  BN(j), &HD(j)->board_id[32]);
  217.           sh[j]->hostt->use_clustering = DISABLE_CLUSTERING;
  218.           sh[j]->sg_tablesize = MAX_SAFE_SGLIST;
  219. diff -u --recursive --new-file v1.2.10/linux/drivers/scsi/u14-34f.h linux/drivers/scsi/u14-34f.h
  220. --- v1.2.10/linux/drivers/scsi/u14-34f.h    Wed Mar 29 06:52:59 1995
  221. +++ linux/drivers/scsi/u14-34f.h    Tue Jun 13 14:39:29 1995
  222. @@ -10,7 +10,7 @@
  223.  int u14_34f_reset(Scsi_Cmnd *);
  224.  int u14_34f_biosparam(Disk *, int, int *);
  225.  
  226. -#define U14_34F_VERSION "2.00.00"
  227. +#define U14_34F_VERSION "2.01.00"
  228.  
  229.  #define ULTRASTOR_14_34F {                                            \
  230.                  NULL, /* Ptr for modules */                           \
  231. diff -u --recursive --new-file v1.2.10/linux/fs/proc/inode.c linux/fs/proc/inode.c
  232. --- v1.2.10/linux/fs/proc/inode.c    Sun Feb 12 21:11:02 1995
  233. +++ linux/fs/proc/inode.c    Mon Jun 26 16:17:56 1995
  234. @@ -194,8 +194,10 @@
  235.          return;
  236.      }
  237.      ino &= 0x0000ffff;
  238. -    inode->i_uid = p->euid;
  239. -    inode->i_gid = p->egid;
  240. +    if (p->dumpable && p->uid == p->euid && p->gid == p->egid) {
  241. +        inode->i_uid = p->uid;
  242. +        inode->i_gid = p->gid;
  243. +    }
  244.      switch (ino) {
  245.          case PROC_PID_INO:
  246.              inode->i_nlink = 4;
  247. diff -u --recursive --new-file v1.2.10/linux/include/linux/sbpcd.h linux/include/linux/sbpcd.h
  248. --- v1.2.10/linux/include/linux/sbpcd.h    Tue Jun 13 14:40:02 1995
  249. +++ linux/include/linux/sbpcd.h    Sat Jun 17 11:11:19 1995
  250. @@ -121,7 +121,7 @@
  251.  #define _LINUX_SBPCD_H
  252.  /*==========================================================================*/
  253.  /*==========================================================================*/
  254. -#define LONG_TIMING 0 /* test against timeouts with "gold" CDs on CR-521 */
  255. +#define LONG_TIMING 1 /* test against timeouts with "gold" CDs on CR-521 */
  256.  #undef  FUTURE
  257.  
  258.  #define TEST_UPC 0
  259. diff -u --recursive --new-file v1.2.10/linux/kernel/exit.c linux/kernel/exit.c
  260. --- v1.2.10/linux/kernel/exit.c    Sun Apr  9 11:59:57 1995
  261. +++ linux/kernel/exit.c    Mon Jun 26 08:56:19 1995
  262. @@ -4,7 +4,7 @@
  263.   *  Copyright (C) 1991, 1992  Linus Torvalds
  264.   */
  265.  
  266. -#define DEBUG_PROC_TREE
  267. +#undef DEBUG_PROC_TREE
  268.  
  269.  #include <linux/wait.h>
  270.  #include <linux/errno.h>
  271. diff -u --recursive --new-file v1.2.10/linux/net/inet/af_inet.c linux/net/inet/af_inet.c
  272. --- v1.2.10/linux/net/inet/af_inet.c    Tue Jun 13 14:40:02 1995
  273. +++ linux/net/inet/af_inet.c    Tue Jun 13 16:18:50 1995
  274. @@ -474,8 +474,8 @@
  275.       * somewhere. We might as well truncate it to what everybody
  276.       * else does..
  277.       */
  278. -    if (backlog > 5)
  279. -        backlog = 5;
  280. +    if ((unsigned) backlog > 128)
  281. +        backlog = 128;
  282.      sk->max_ack_backlog = backlog;
  283.      if (sk->state != TCP_LISTEN)
  284.      {
  285. diff -u --recursive --new-file v1.2.10/linux/net/inet/icmp.c linux/net/inet/icmp.c
  286. --- v1.2.10/linux/net/inet/icmp.c    Sun Apr  9 11:59:58 1995
  287. +++ linux/net/inet/icmp.c    Tue Jun 13 19:26:55 1995
  288. @@ -125,7 +125,7 @@
  289.       */
  290.       
  291.      atype=ip_chk_addr(iph->daddr);
  292. -    if(atype==IS_BROADCAST || IN_MULTICAST(iph->daddr))
  293. +    if(atype==IS_BROADCAST || atype==IS_MULTICAST)
  294.          return;
  295.  
  296.      /*
  297.