1. 12 6月, 2008 19 次提交
  2. 11 6月, 2008 13 次提交
  3. 10 6月, 2008 8 次提交
    • L
      Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 · 19f2b8df
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
        [S390] tape_3590.c: introduce missing kfree
        [S390] Fix __ctl_load/__ctl_store inline assembly constraints
        [S390] Fix build failure in __cpu_up()
        [S390] vt220 console, initialize list head before use
        [S390] cio: Fix inverted isc priorities.
        [S390] vmemmap: fix off-by-one bug.
        [S390] cio: Fix sparse warnings in blacklist.c.
        [S390] sparsemem: use SPARSEMEM_STATIC if !64BIT.
      19f2b8df
    • N
      shm: Remove silly double assignment · c592713b
      Neil Horman 提交于
      Found a silly double assignment of err is do_shmat.  Silly, but good to
      clean up the useless code.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c592713b
    • J
      [S390] tape_3590.c: introduce missing kfree · 1783e60f
      Julia Lawall 提交于
      The semantic match that finds the problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      @r exists@
      expression E,E1;
      statement S;
      position p1,p2,p3;
      @@
      
      E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...)
      ... when != E = E1
      if (E == NULL || ...) S
      ... when != E = E1
      if@p2 (...) {
       ... when != kfree(E)
       }
      ... when != E = E1
      kfree@p3(E);
      
      @forall@
      position r.p2;
      expression r.E;
      int E1 != 0;
      @@
      
      * if@p2 (...) {
       ... when != kfree(E)
           when strict
      return E1; }
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1783e60f
    • M
      [S390] Fix __ctl_load/__ctl_store inline assembly constraints · b57838ea
      Martin Schwidefsky 提交于
      __ctl_load/__ctl_store are called with either an array of unsigned long or
      a single unsigned long value. Add an address operator to the "m"/"=m"
      contraints to make them work for unsigned long arguments as well.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b57838ea
    • S
      [S390] Fix build failure in __cpu_up() · 24d3e210
      Segher Boessenkool 提交于
      The first argument to __ctl_store() should be the array to store
      stuff in, not just the first element of that array.  With the
      current code in __cpu_up(), mainline GCC dies with an internal
      compiler error.  I didn't diagnose that further, but just fixed
      the kernel bug.
      Signed-off-by: NSegher Boessenkool <segher@kernel.crashing.org>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      24d3e210
    • C
      [S390] vt220 console, initialize list head before use · 7b439d25
      Carsten Otte 提交于
      This patch fixes a null pointer dereference during initialisation when no
      sclp event facility is available:
      sclp vt220 tty driver: could not register vt220 - sclp_register returned -5
      Unable to handle kernel paging request at virtual user address 0000000000000000
      Oops: 0004 [#1] PREEMPT SMP
      Modules linked in:
      CPU: 0 Not tainted 2.6.26-rc3-kvm-bigiron-00968-gd939e93-dirty #30
      Process swapper (pid: 0, task: 0000000000600be0, ksp: 000000000064a000)
      Krnl PSW : 0400000180000000 0000000000320d8c (sclp_unregister+0x48/0x8c)
                 R:0 T:1 IO:0 EX:0 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3
      Krnl GPRS: 0000000000000000 0000000000000000 0000000000630478 0700000000649c20
                 0000000000000000 0000000000433060 000000000064a660 0000000002e26000
                 00000000006db000 0000000000000000 0000000000a78578 0000000000649b80
                 0000000000630dc0 000000000044fa20 0000000000320d76 0000000000649b80
      Krnl Code: 0000000000320d7c: e310c0080004       lg      %r1,8(%r12)
                 0000000000320d82: b9040032           lgr     %r3,%r2
                 0000000000320d86: c02000187b79       larl    %r2,630478
                >0000000000320d8c: e34010000024       stg     %r4,0(%r1)
                 0000000000320d92: e31040080024       stg     %r1,8(%r4)
                 0000000000320d98: c01100200200       lgfi    %r1,2097664
                 0000000000320d9e: e310c0080024       stg     %r1,8(%r12)
                 0000000000320da4: c01100100100       lgfi    %r1,1048832
      Call Trace:
      ([<0000000000320d76>] sclp_unregister+0x32/0x8c)
       [<00000000006657b4>] __sclp_vt220_cleanup+0xc4/0xe0
       [<000000000066595c>] __sclp_vt220_init+0x18c/0x1a0
       [<0000000000665aba>] sclp_vt220_con_init+0x42/0x68
       [<00000000006601ca>] console_init+0x4e/0x68
       [<000000000064acae>] start_kernel+0x3a2/0x4dc
       [<0000000000100020>] _stext+0x20/0x80
      INFO: lockdep is turned off.
      Last Breaking-Event-Address:
       [<000000000041f964>] _spin_lock_irqsave+0xb0/0xb4
       <4>---[ end trace 31fd0ba7d8756001 ]---
      
      The issue is caused by a list_empty() check in __sclp_vt220_cleanup, which
      usually fails on non-initialized list heads that contain {NULL,NULL} instead.
      Signed-off-by: NCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      7b439d25
    • C
      [S390] cio: Fix inverted isc priorities. · 85b0d7c0
      Cornelia Huck 提交于
      Priorities for I/O interruption subclasses range from 0 (highest)
      to 7 (lowest). Unfortunately, the console has been using isc 7
      instead of an isc with a higher priority than regular I/O
      subchannels (which use 3). Fix this by making the console use
      isc 1.
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      85b0d7c0
    • H
      [S390] vmemmap: fix off-by-one bug. · ee0ddadd
      Heiko Carstens 提交于
      If a memory range is supposed to be added to the 1:1 mapping and it
      ends just below the maximum supported physical address it won't
      succeed. This is because a test doesn't consider that the end address
      is 1 smaller than start + size.
      Fix the comparison.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      ee0ddadd