<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/binfmt_elf.c, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-10-15T18:24:49Z</updated>
<entry>
<title>[PATCH] Fix core files so they make sense to gdb...</title>
<updated>2006-10-15T18:24:49Z</updated>
<author>
<name>Petr Vandrovec</name>
</author>
<published>2006-10-13T16:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7a0d86f5aa40a2215e36fe21d7911cf718ba428'/>
<id>urn:sha1:a7a0d86f5aa40a2215e36fe21d7911cf718ba428</id>
<content type='text'>
It is silly to use non-static variable for writting zeroes to the file.

And more seriously, foffset in core dump file dump function was incremented
too much, so some parts of core dump were shifted by size of few phdrs and
notes down, so although gdb was able to load that file, it did not make lot
of sense - in my test case data pages were shifted down by about 900 bytes.

Signed-off-by: Petr Vandrovec &lt;petr@vandrovec.name&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Get core dump code to work...</title>
<updated>2006-10-13T15:13:34Z</updated>
<author>
<name>Petr Vandrovec</name>
</author>
<published>2006-10-13T02:13:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7f14daa19ea36b200d237ad3ac5826ae25360461'/>
<id>urn:sha1:7f14daa19ea36b200d237ad3ac5826ae25360461</id>
<content type='text'>
The file based core dump code was broken by pipe changes - a relative
llseek returns the absolute file position on success, not the relative
one, so dump_seek() always failed when invoked with non-zero current
position.

Only success/failure can be tested with relative lseek, we have to trust
kernel that on success we've got right file offset.  With this fix in
place I have finally real core files instead of 1KB fragments...

Signed-off-by: Petr Vandrovec &lt;petr@vandrovec.name&gt;
[ Cleaned it up a bit while here - use SEEK_CUR instead of hardcoding 1 ]
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Support piping into commands in /proc/sys/kernel/core_pattern</title>
<updated>2006-10-01T07:39:33Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2006-10-01T06:29:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d025c9db7f31fc0554ce7fb2dfc78d35a77f3487'/>
<id>urn:sha1:d025c9db7f31fc0554ce7fb2dfc78d35a77f3487</id>
<content type='text'>
Using the infrastructure created in previous patches implement support to
pipe core dumps into programs.

This is done by overloading the existing core_pattern sysctl
with a new syntax:

|program

When the first character of the pattern is a '|' the kernel will instead
threat the rest of the pattern as a command to run.  The core dump will be
written to the standard input of that program instead of to a file.

This is useful for having automatic core dump analysis without filling up
disks.  The program can do some simple analysis and save only a summary of
the core dump.

The core dump proces will run with the privileges and in the name space of
the process that caused the core dump.

I also increased the core pattern size to 128 bytes so that longer command
lines fit.

Most of the changes comes from allowing core dumps without seeks.  They are
fairly straight forward though.

One small incompatibility is that if someone had a core pattern previously
that started with '|' they will get suddenly new behaviour.  I think that's
unlikely to be a real problem though.

Additional background:

&gt; Very nice, do you happen to have a program that can accept this kind of
&gt; input for crash dumps?  I'm guessing that the embedded people will
&gt; really want this functionality.

I had a cheesy demo/prototype.  Basically it wrote the dump to a file again,
ran gdb on it to get a backtrace and wrote the summary to a shared directory.
Then there was a simple CGI script to generate a "top 10" crashes HTML
listing.

Unfortunately this still had the disadvantage to needing full disk space for a
dump except for deleting it afterwards (in fact it was worse because over the
pipe holes didn't work so if you have a holey address map it would require
more space).

Fortunately gdb seems to be happy to handle /proc/pid/fd/xxx input pipes as
cores (at least it worked with zsh's =(cat core) syntax), so it would be
likely possible to do it without temporary space with a simple wrapper that
calls it in the right way.  I ran out of time before doing that though.

The demo prototype scripts weren't very good.  If there is really interest I
can dig them out (they are currently on a laptop disk on the desk with the
laptop itself being in service), but I would recommend to rewrite them for any
serious application of this and fix the disk space problem.

Also to be really useful it should probably find a way to automatically fetch
the debuginfos (I cheated and just installed them in advance).  If nobody else
does it I can probably do the rewrite myself again at some point.

My hope at some point was that desktops would support it in their builtin
crash reporters, but at least the KDE people I talked too seemed to be happy
with their user space only solution.

Alan sayeth:

  I don't believe that piping as such as neccessarily the right model, but
  the ability to intercept and processes core dumps from user space is asked
  for by many enterprise users as well.  They want to know about, capture,
  analyse and process core dumps, often centrally and in automated form.

[akpm@osdl.org: loff_t != unsigned long]
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]</title>
<updated>2006-09-30T18:52:18Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2006-09-30T18:52:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07f3f05c1e3052b8656129b2a5aca9f888241a34'/>
<id>urn:sha1:07f3f05c1e3052b8656129b2a5aca9f888241a34</id>
<content type='text'>
Create a new header file, fs/internal.h, for common definitions local to the
sources in the fs/ directory.

Move extern definitions that should be in header files from fs/*.c to
fs/internal.h or other main header files where they span directories.

Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>[PATCH] elf_core_dump: don't take tasklist_lock</title>
<updated>2006-09-29T16:18:14Z</updated>
<author>
<name>Oleg Nesterov</name>
</author>
<published>2006-09-29T09:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=486ccb05fdbb7ca79784fdf0d07d2a86de48cf05'/>
<id>urn:sha1:486ccb05fdbb7ca79784fdf0d07d2a86de48cf05</id>
<content type='text'>
do_each_thread() is rcu-safe, and all tasks which use this -&gt;mm must sleep
in wait_for_completion(&amp;mm-&gt;core_done) at this point, so we can use RCU
locks.

Also, remove unneeded INIT_LIST_HEAD(new) before list_add(new, head).

Signed-off-by: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Fix unserialized task-&gt;files changing</title>
<updated>2006-09-29T16:18:12Z</updated>
<author>
<name>Kirill Korotaev</name>
</author>
<published>2006-09-29T09:00:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b9b8ab65d8eed784b9164d03807cb2bda7b5cd6'/>
<id>urn:sha1:3b9b8ab65d8eed784b9164d03807cb2bda7b5cd6</id>
<content type='text'>
Fixed race on put_files_struct on exec with proc.  Restoring files on
current on error path may lead to proc having a pointer to already kfree-d
files_struct.

-&gt;files changing at exit.c and khtread.c are safe as exit_files() makes all
things under lock.

Found during OpenVZ stress testing.

[akpm@osdl.org: add export]
Signed-off-by: Pavel Emelianov &lt;xemul@openvz.org&gt;
Signed-off-by: Kirill Korotaev &lt;dev@openvz.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6</title>
<updated>2006-09-26T20:07:55Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2006-09-26T20:07:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b278240839e20fa9384ea430df463b367b90e04e'/>
<id>urn:sha1:b278240839e20fa9384ea430df463b367b90e04e</id>
<content type='text'>
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)
  [PATCH] Don't set calgary iommu as default y
  [PATCH] i386/x86-64: New Intel feature flags
  [PATCH] x86: Add a cumulative thermal throttle event counter.
  [PATCH] i386: Make the jiffies compares use the 64bit safe macros.
  [PATCH] x86: Refactor thermal throttle processing
  [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)
  [PATCH] Fix unwinder warning in traps.c
  [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
  [PATCH] x86: Move direct PCI scanning functions out of line
  [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI
  [PATCH] Don't leak NT bit into next task
  [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
  [PATCH] Fix some broken white space in ia32_signal.c
  [PATCH] Initialize argument registers for 32bit signal handlers.
  [PATCH] Remove all traces of signal number conversion
  [PATCH] Don't synchronize time reading on single core AMD systems
  [PATCH] Remove outdated comment in x86-64 mmconfig code
  [PATCH] Use string instructions for Core2 copy/clear
  [PATCH] x86: - restore i8259A eoi status on resume
  [PATCH] i386: Split multi-line printk in oops output.
  ...
</content>
</entry>
<entry>
<title>[PATCH] binfmt_elf: consistently use loff_t</title>
<updated>2006-09-26T15:48:53Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2006-09-26T06:32:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d6b5eeea5eb644232cbbbe1c927fdf051e60fa5'/>
<id>urn:sha1:8d6b5eeea5eb644232cbbbe1c927fdf051e60fa5</id>
<content type='text'>
As David Howells &lt;dhowells@redhat.com&gt; points out, binfmt_elf sometimes uses
off_t, sometimes uses loff_t.  Use loff_t throughout.

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] i386/x86-64: Don't randomize stack top when no randomization personality is set</title>
<updated>2006-09-26T08:52:28Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2006-09-26T08:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c16b63e09d9d03158e0a92e961234e94c4862620'/>
<id>urn:sha1:c16b63e09d9d03158e0a92e961234e94c4862620</id>
<content type='text'>
Based on patch from Frank van Maarseveen &lt;frankvm@frankvm.com&gt;, but
extended.

Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] FDPIC: Move roundup() into linux/kernel.h</title>
<updated>2006-07-10T20:24:22Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2006-07-10T11:44:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4cac1a0227a6f84be0381cd350a3c8730a4a671'/>
<id>urn:sha1:b4cac1a0227a6f84be0381cd350a3c8730a4a671</id>
<content type='text'>
Move the roundup() macro from binfmt_elf.c into linux/kernel.h as it's
generally useful.

[akpm@osdl.org: nuke all the other implementations]
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
