1. 05 Jun, 2005 4 commits
    • Martin Schwidefsky's avatar
      [PATCH] s390: in_interrupt vs. in_atomic · 595bf2aa
      Martin Schwidefsky authored
      The condition for no context in do_exception checks for hard and soft
      interrupts by using in_interrupt() but not for preemption.  This is bad for
      the users of __copy_from/to_user_inatomic because the fault handler might call
      schedule although the preemption count is != 0.  Use in_atomic() instead
      in_interrupt().
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      595bf2aa
    • Bodo Stroesser's avatar
      [PATCH] s390: uml ptrace fixes · c5c3a6d8
      Bodo Stroesser authored
      To make UML build and run on s390, I needed to do these two little
      changes:
      
      1) UML includes some of the subarch's (s390) headers. I had to
         change one of them with the following one-liner, to make this
         compile. AFAICS, this change doesn't break compilation of s390
         itself.
      
      2) UML needs to intercept syscalls via ptrace to invalidate the syscall,
         read syscall's parameters and write the result with the result of
         UML's syscall processing. Also, UML needs to make sure, that the host
         does no syscall restart processing. On i386 for example, this can be
         done by writing -1 to orig_eax on the 2nd syscall interception
         (orig_eax is the syscall number, which after the interception is used
         as a "interrupt was a syscall" flag only.
         Unfortunately, s390 holds syscall number and syscall result in gpr2 and
         its "interrupt was a syscall" flag (trap) is unreachable via ptrace.
         So I changed the host to set trap to -1, if the syscall number is changed
         to an invalid value on the first syscall interception.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c5c3a6d8
    • Martin Schwidefsky's avatar
      [PATCH] s390: ptrace peek and poke · 778959db
      Martin Schwidefsky authored
      The special cases of peek and poke on acrs[15] and the fpc register are not
      handled correctly.  A poke on acrs[15] will clobber the 4 bytes after the
      access registers in the thread_info structure.  That happens to be the kernel
      stack pointer.  A poke on the fpc with an invalid value is not caught by the
      validity check.  On the next context switch the broken fpc value will cause a
      program check in the kernel.  Improving the checks in peek and poke fixes
      this.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      778959db
    • Qu Fuping's avatar
      [PATCH] mpage_end_io_write() I/O error handling fix · 854715be
      Qu Fuping authored
      When fsync() runs wait_on_page_writeback_range() it only inspects pages which
      are actually under I/O (PAGECACHE_TAG_WRITEBACK).  If a page completed I/O
      prior to wait_on_page_writeback_range() looking at it, it is supposed to have
      recorded its I/O error state in the address_space.
      
      But mpage_mpage_end_io_write() forgot to set the address_space error flag in
      this case.
      Signed-off-by: default avatarQu Fuping <fs@ercist.iscas.ac.cn>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      854715be
  2. 04 Jun, 2005 2 commits
  3. 03 Jun, 2005 17 commits
  4. 02 Jun, 2005 17 commits