1. 14 Aug, 2009 1 commit
  2. 24 Aug, 2009 2 commits
  3. 31 Jul, 2009 3 commits
  4. 08 Sep, 2009 1 commit
    • Anton Vorontsov's avatar
      Convert the m25p80 driver so that now it uses .id_table for device · 62ebf072
      Anton Vorontsov authored
      matching, making it properly detect devices on OpenFirmware platforms
      (prior to this patch the driver misdetected non-JEDEC chips, seeing all
      chips as "m25p80").
      
      Also, now jedec_probe() only does jedec probing, nothing else.  If it is
      not able to detect a chip, NULL is returned and the driver fall backs to
      the information specified by the platform (platform_data, or exact ID).
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      62ebf072
  5. 31 Jul, 2009 1 commit
    • Anton Vorontsov's avatar
      With this patch spi drivers can use standard spi_driver.id_table and · d74d27cf
      Anton Vorontsov authored
      MODULE_DEVICE_TABLE() mechanisms to bind against the devices.  Just like
      we do with I2C drivers.
      
      This is useful when a single driver supports several variants of devices
      but it is not possible to detect them in run-time (like non-JEDEC chips
      probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is
      overkill.
      
      This patch also makes life a lot easier on OpenFirmware platforms, since
      with OF we extensively use proper device IDs in modaliases.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      d74d27cf
  6. 24 Jun, 2009 1 commit
  7. 23 Jul, 2009 1 commit
  8. 18 Jul, 2009 3 commits
  9. 24 Jun, 2009 1 commit
  10. 03 Sep, 2009 2 commits
  11. 25 Jul, 2009 1 commit
  12. 18 Jul, 2009 1 commit
  13. 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
  14. 03 Sep, 2009 1 commit
  15. 05 Sep, 2009 1 commit
  16. 03 Sep, 2009 1 commit
  17. 12 Sep, 2009 1 commit
  18. 03 Sep, 2009 6 commits
  19. 01 Aug, 2009 1 commit
  20. 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
  21. 15 Aug, 2009 1 commit
  22. 14 Aug, 2009 1 commit
  23. 24 Aug, 2009 3 commits
  24. 09 Sep, 2009 1 commit
  25. 25 Aug, 2009 1 commit
  26. 24 Aug, 2009 1 commit