1. 18 Jul, 2009 3 commits
  2. 24 Jun, 2009 1 commit
  3. 03 Sep, 2009 2 commits
  4. 25 Jul, 2009 1 commit
  5. 18 Jul, 2009 1 commit
  6. 09 Sep, 2009 1 commit
    • Roland McGrath's avatar
      In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the · 4b396ba6
      Roland McGrath authored
      PT_LOAD has no PROT_WRITE and no .bss.  This generates EFAULT.
      
      Here is a small test case.  (Yes, there are other, useful PT_INTERP which
      have only .text and no .data/.bss.)
      
      	----- ptinterp.S
      	_start: .globl _start
      		 nop
      		 int3
      	-----
      	$ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S
      	$ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c
      	$ ./hello
      	Segmentation fault  # during execve() itself
      
      	After applying the patch:
      	$ ./hello
      	Trace trap  # user-mode execution after execve() finishes
      
      If the ELF headers are actually self-inconsistent, then dying is fine. 
      But having no PROT_WRITE segment is perfectly normal and correct if there
      is no segment with p_memsz > p_filesz (i.e.  bss).  John Reiser suggested
      checking for PROT_WRITE in the bss logic.  I think it makes most sense to
      simply apply the bss logic only when there is bss.
      
      This patch looks less trivial than it is due to some reindentation.  It
      just moves the "if (last_bss > elf_bss) {" test up to include the
      partial-page bss logic as well as the more-pages bss logic.
      Reported-by: default avatarJohn Reiser <jreiser@bitwagon.com>
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: James Morris <jmorris@namei.org>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4b396ba6
  7. 03 Sep, 2009 1 commit
  8. 05 Sep, 2009 1 commit
  9. 03 Sep, 2009 1 commit
  10. 12 Sep, 2009 1 commit
  11. 03 Sep, 2009 6 commits
  12. 01 Aug, 2009 1 commit
  13. 24 Aug, 2009 2 commits
    • Stefani Seibold's avatar
      Changes since last posting: · 20e322b5
      Stefani Seibold authored
       - fix compatibility with tools/perf/builtin-record.c in upstream kernel
      
      The patch is against 2.6.30 and is tested on intel and ppc architectures.
      
      ChangeLog:
       20. Jan 2009 V0.1
        - First Version for Kernel 2.6.28.1
       31. Mar 2009 V0.2
        - Ported to Kernel 2.6.29
       03. Jun 2009 V0.3
        - Ported to Kernel 2.6.30
        - Redesigned what was suggested by Ingo Molnar
        - the thread watch monitor is gone
        - the /proc/stackmon entry is also gone
        - slim down
       04. Jun 2009 V0.4
        - Redesigned everything that was suggested by Andrew Morton
        - slim down
       04. Jun 2009 V0.5
        - Code cleanup
       06. Jun 2009 V0.6
        - Fix missing mm->mmap_sem locking in function task_show_stack_usage()
        - Code cleanup
       10. Jun 2009 V0.7
        - update Documentation/filesystem/proc.txt
       10. Jun 2009 V0.8
        - change maps/smaps output, displays now the max. stack size
       24. Jun 2009 V0.9
        - use walk_page_range() to determinate the stack usage high water mark
        - include swapped pages to the stack usage high water mark count
       24. Jun 2009 V0.10
        - fix off by one bug
        - cleanup
      
       fs/exec.c                          |    2
       include/linux/sched.h              |    1
       kernel/fork.c                      |    2
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      20e322b5
    • Stefani Seibold's avatar
      A patch to give a better overview of the userland application stack usage, · 3204de64
      Stefani Seibold authored
      especially for embedded linux.
      
      Currently you are only able to dump the main process/thread stack usage
      which is showed in /proc/pid/status by the "VmStk" Value.  But you get no
      information about the consumed stack memory of the the threads.
      
      There is an enhancement in the /proc/<pid>/{task/*,}/*maps and which marks
      the vm mapping where the thread stack pointer reside with "[thread stack
      xxxxxxxx]".  xxxxxxxx is the maximum size of stack.  This is a value
      information, because libpthread doesn't set the start of the stack to the
      top of the mapped area, depending of the pthread usage.
      
      A sample output of /proc/<pid>/task/<tid>/maps looks like:
      
      08048000-08049000 r-xp 00000000 03:00 8312       /opt/z
      08049000-0804a000 rw-p 00001000 03:00 8312       /opt/z
      0804a000-0806b000 rw-p 00000000 00:00 0          [heap]
      a7d12000-a7d13000 ---p 00000000 00:00 0
      a7d13000-a7f13000 rw-p 00000000 00:00 0          [thread stack: 001ff4b4]
      a7f13000-a7f14000 ---p 00000000 00:00 0
      a7f14000-a7f36000 rw-p 00000000 00:00 0
      a7f36000-a8069000 r-xp 00000000 03:00 4222       /lib/libc.so.6
      a8069000-a806b000 r--p 00133000 03:00 4222       /lib/libc.so.6
      a806b000-a806c000 rw-p 00135000 03:00 4222       /lib/libc.so.6
      a806c000-a806f000 rw-p 00000000 00:00 0
      a806f000-a8083000 r-xp 00000000 03:00 14462      /lib/libpthread.so.0
      a8083000-a8084000 r--p 00013000 03:00 14462      /lib/libpthread.so.0
      a8084000-a8085000 rw-p 00014000 03:00 14462      /lib/libpthread.so.0
      a8085000-a8088000 rw-p 00000000 00:00 0
      a8088000-a80a4000 r-xp 00000000 03:00 8317       /lib/ld-linux.so.2
      a80a4000-a80a5000 r--p 0001b000 03:00 8317       /lib/ld-linux.so.2
      a80a5000-a80a6000 rw-p 0001c000 03:00 8317       /lib/ld-linux.so.2
      afaf5000-afb0a000 rw-p 00000000 00:00 0          [stack]
      ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]
      
      
      Also there is a new entry "stack usage" in /proc/<pid>/{task/*,}/status
      which will you give the current stack usage in kb.
      
      A sample output of /proc/self/status looks like:
      
      Name:	cat
      State:	R (running)
      Tgid:	507
      Pid:	507
      .
      .
      .
      CapBnd:	fffffffffffffeff
      voluntary_ctxt_switches:	0
      nonvoluntary_ctxt_switches:	0
      Stack usage:	12 kB
      
      I also fixed stack base address in /proc/<pid>/{task/*,}/stat to the base
      address of the associated thread stack and not the one of the main
      process.  This makes more sense.
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      3204de64
  14. 15 Aug, 2009 1 commit
  15. 14 Aug, 2009 1 commit
  16. 24 Aug, 2009 3 commits
  17. 09 Sep, 2009 1 commit
  18. 25 Aug, 2009 1 commit
  19. 24 Aug, 2009 1 commit
  20. 18 Aug, 2009 1 commit
  21. 22 Jul, 2009 2 commits
  22. 26 Jun, 2009 1 commit
  23. 30 Jun, 2009 1 commit
  24. 26 Jun, 2009 3 commits
  25. 21 Apr, 2009 1 commit
    • Michael Riepe's avatar
      Enable the coretemp driver on an Intel Atom. · 62c54ac4
      Michael Riepe authored
      I'm not sure if the readings are correct, however - on my 330, the driver
      reports values between 27 and 41 °C (with core1 being about 8°C hotter
      than core0, given the same load).  Maybe the maximum temperature of 100 °C
      is wrong for Atom CPUs.
      
      Michael "Tired" Riepe <michael.riepe@googlemail.com>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      62c54ac4
  26. 20 Aug, 2009 1 commit