]> git.hungrycats.org Git - linux/commitdiff
Merge ia64 conflicts
authorLinus Torvalds <torvalds@home.osdl.org>
Mon, 29 Dec 2003 14:09:43 +0000 (06:09 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Mon, 29 Dec 2003 14:09:43 +0000 (06:09 -0800)
1  2 
arch/ia64/Kconfig
arch/ia64/kernel/irq.c
arch/ia64/mm/hugetlbpage.c

index 22f2c3a2917f88cb3c18dd6b7d649bf156fd575c,3df6139635ea4a3c25307e819fb1fad274976f23..a0827fed7a02f87270755dda8ec714f978352b37
@@@ -399,6 -389,21 +394,12 @@@ config IA64_PALINF
          To use this option, you have to ensure that the "/proc file system
          support" (CONFIG_PROC_FS) is enabled, too.
  
 -config IA64_SALINFO
 -      tristate "/proc/sal support"
 -      help
 -        The /proc/sal directory exports the SAL (system abstraction layer)
 -        feature bits, like whether the platform is subject to ITC drift.  It
 -        is intended to be used by user programs that care about such things.
 -
 -        To use this option, you have to ensure that the "/proc file system
 -        support" (CONFIG_PROC_FS) is enabled, too.
+ 
+ config EFI
+       bool
+       depends on !IA64_HP_SIM
+       default y
+ 
  config EFI_VARS
        tristate "/proc/efi/vars support"
        help
index 5a768ed52bdde7fe22975c35157d5f41d40374d3,ec54ff4e085125776645784969a7047f5eb62545..04f661fdf1815755e1e69c71a78c8263b30b6077
@@@ -1007,28 -956,14 +959,28 @@@ static int irq_affinity_write_proc (str
        if (!desc->handler->set_affinity)
                return -EIO;
  
 -      if (buf[0] == 'r' || buf[0] == 'R') {
 -              ++buf;
 -              while (*buf == ' ') ++buf;
 -              redir = 1;
 -      } else
 -              redir = 0;
 +      /*
 +       * If string being written starts with a prefix of 'r' or 'R'
 +       * and some limited number of spaces, set IA64_IRQ_REDIRECTED.
 +       * If more than (R_PREFIX_LEN - 2) spaces are passed, they won't
 +       * all be trimmed as part of prelen, the untrimmed spaces will
 +       * cause the hex parsing to fail, and this write() syscall will
 +       * fail with EINVAL.
 +       */
 +
 +      if (!count)
 +              return -EINVAL;
 +      rlen = min(sizeof(rbuf)-1, count);
 +      if (copy_from_user(rbuf, buffer, rlen))
 +              return -EFAULT;
 +      rbuf[rlen] = 0;
 +      prelen = 0;
 +      if (tolower(*rbuf) == 'r') {
 +              prelen = strspn(rbuf, "Rr ");
 +              irq |= IA64_IRQ_REDIRECTED;
 +      }
  
-       err = parse_hex_value(buffer+prelen, count-prelen, &new_value);
 -      err = cpumask_parse(buf, count - (buf-buffer), new_value);
++      err = cpumask_parse(buffer+prelen, count-prelen, new_value);
        if (err)
                return err;
  
Simple merge