Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Tue, Sep 04, 2007 at 12:04:37AM -0400, Pallewatta Mano-FPCD67 wrote:
> This support was there in the 2.6.16.51 kernel. In fact there was no
> call_usermodehelper_pipe().

So backport it, instead of creating an incompatible interface and headache
when you eventually rebase to later kernel.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Pallewatta Mano-FPCD67
This support was there in the 2.6.16.51 kernel. In fact there was no
call_usermodehelper_pipe().

Mano

-Original Message-
From: Al Viro [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 03, 2007 8:27 PM
To: Pallewatta Mano-FPCD67
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

On Mon, Sep 03, 2007 at 10:32:00PM -0400, Pallewatta Mano-FPCD67 wrote:
> This patch was developed for embedded systems which had limited space
> for file storage. If an external process is to compress core files you
> will need to store those files somewhere first as core dump output
> cannot be directly fed to the stdin of compression program.

Why?  Create a pipe, start a new process, put the reader struct file
into its descriptor table as stdin, do execve in new process and
pass the writer struct file to ->core_dump().

As the matter of fact, it's already done - see
lock_kernel();
ispipe = format_corename(corename, core_pattern, signr);
unlock_kernel();
if (ispipe) {
/* SIGPIPE can happen, but it's just never processed */
if(call_usermodehelper_pipe(corename+1, NULL, NULL,
)) {
printk(KERN_INFO "Core dump to %s pipe
failed\n",
   corename);
goto fail_unlock;
}
} else
file = filp_open(corename,
 O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE
| flag,
 0600);
in do_coredump().  So take a look at fs/exec.c:format_corename() and see
what to feed for it in order to get the equivalent of your patch.
core_patttern is set by sysctl (just say
echo [whatever] >/proc/sys/kernel/core_pattern 
and don't forget quoting, since | should be the first character to
indicate
that you want to pipe coredump through a helper).

I really don't see a reason to do that kind of work in the kernel,
embedded
system or not.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Mon, Sep 03, 2007 at 10:32:00PM -0400, Pallewatta Mano-FPCD67 wrote:
> This patch was developed for embedded systems which had limited space
> for file storage. If an external process is to compress core files you
> will need to store those files somewhere first as core dump output
> cannot be directly fed to the stdin of compression program.

Why?  Create a pipe, start a new process, put the reader struct file
into its descriptor table as stdin, do execve in new process and
pass the writer struct file to ->core_dump().

As the matter of fact, it's already done - see
lock_kernel();
ispipe = format_corename(corename, core_pattern, signr);
unlock_kernel();
if (ispipe) {
/* SIGPIPE can happen, but it's just never processed */
if(call_usermodehelper_pipe(corename+1, NULL, NULL, )) {
printk(KERN_INFO "Core dump to %s pipe failed\n",
   corename);
goto fail_unlock;
}
} else
file = filp_open(corename,
 O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE | flag,
 0600);
in do_coredump().  So take a look at fs/exec.c:format_corename() and see
what to feed for it in order to get the equivalent of your patch.
core_patttern is set by sysctl (just say
echo [whatever] >/proc/sys/kernel/core_pattern 
and don't forget quoting, since | should be the first character to indicate
that you want to pipe coredump through a helper).

I really don't see a reason to do that kind of work in the kernel, embedded
system or not.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Pallewatta Mano-FPCD67
This patch was developed for embedded systems which had limited space
for file storage. If an external process is to compress core files you
will need to store those files somewhere first as core dump output
cannot be directly fed to the stdin of compression program. Imagine
storing a 40 Meg core file in an embedded system. A few core files will
fill up the file system and some core files can get corrupted too. 

Mano

-Original Message-
From: Al Viro [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 03, 2007 6:38 PM
To: Pallewatta Mano-FPCD67
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

On Mon, Sep 03, 2007 at 08:49:00PM -0400, Pallewatta Mano-FPCD67 wrote:
> Hi,
> The attached patch is based on Jan Frey's previous patch posted in
2004
> for the Linux 2.4 kernel. It has been tested on X86 and MIPS
platforms.
> If the core pattern doesn't end in ".gz" it will be added to the name
of
> the core file. It's offered under GPL v2 without any warranties. If
you
> have any questions, please contact me directly at Mano.Pallewatta "at"
> motorola.com. 

This is silly, IMO - why do in kernel what can be done in userland?
External
process can damn well gzip/bzip2/uuencode and post to
alt.sex.cthulhu.binaries/
whatever.  Just feed the usual data to its stdin...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Mon, Sep 03, 2007 at 08:49:00PM -0400, Pallewatta Mano-FPCD67 wrote:
> Hi,
> The attached patch is based on Jan Frey's previous patch posted in 2004
> for the Linux 2.4 kernel. It has been tested on X86 and MIPS platforms.
> If the core pattern doesn't end in ".gz" it will be added to the name of
> the core file. It's offered under GPL v2 without any warranties. If you
> have any questions, please contact me directly at Mano.Pallewatta "at"
> motorola.com. 

This is silly, IMO - why do in kernel what can be done in userland?  External
process can damn well gzip/bzip2/uuencode and post to alt.sex.cthulhu.binaries/
whatever.  Just feed the usual data to its stdin...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Mon, Sep 03, 2007 at 08:49:00PM -0400, Pallewatta Mano-FPCD67 wrote:
 Hi,
 The attached patch is based on Jan Frey's previous patch posted in 2004
 for the Linux 2.4 kernel. It has been tested on X86 and MIPS platforms.
 If the core pattern doesn't end in .gz it will be added to the name of
 the core file. It's offered under GPL v2 without any warranties. If you
 have any questions, please contact me directly at Mano.Pallewatta at
 motorola.com. 

This is silly, IMO - why do in kernel what can be done in userland?  External
process can damn well gzip/bzip2/uuencode and post to alt.sex.cthulhu.binaries/
whatever.  Just feed the usual data to its stdin...
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Pallewatta Mano-FPCD67
This patch was developed for embedded systems which had limited space
for file storage. If an external process is to compress core files you
will need to store those files somewhere first as core dump output
cannot be directly fed to the stdin of compression program. Imagine
storing a 40 Meg core file in an embedded system. A few core files will
fill up the file system and some core files can get corrupted too. 

Mano

-Original Message-
From: Al Viro [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 03, 2007 6:38 PM
To: Pallewatta Mano-FPCD67
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

On Mon, Sep 03, 2007 at 08:49:00PM -0400, Pallewatta Mano-FPCD67 wrote:
 Hi,
 The attached patch is based on Jan Frey's previous patch posted in
2004
 for the Linux 2.4 kernel. It has been tested on X86 and MIPS
platforms.
 If the core pattern doesn't end in .gz it will be added to the name
of
 the core file. It's offered under GPL v2 without any warranties. If
you
 have any questions, please contact me directly at Mano.Pallewatta at
 motorola.com. 

This is silly, IMO - why do in kernel what can be done in userland?
External
process can damn well gzip/bzip2/uuencode and post to
alt.sex.cthulhu.binaries/
whatever.  Just feed the usual data to its stdin...
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Mon, Sep 03, 2007 at 10:32:00PM -0400, Pallewatta Mano-FPCD67 wrote:
 This patch was developed for embedded systems which had limited space
 for file storage. If an external process is to compress core files you
 will need to store those files somewhere first as core dump output
 cannot be directly fed to the stdin of compression program.

Why?  Create a pipe, start a new process, put the reader struct file
into its descriptor table as stdin, do execve in new process and
pass the writer struct file to -core_dump().

As the matter of fact, it's already done - see
lock_kernel();
ispipe = format_corename(corename, core_pattern, signr);
unlock_kernel();
if (ispipe) {
/* SIGPIPE can happen, but it's just never processed */
if(call_usermodehelper_pipe(corename+1, NULL, NULL, file)) {
printk(KERN_INFO Core dump to %s pipe failed\n,
   corename);
goto fail_unlock;
}
} else
file = filp_open(corename,
 O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE | flag,
 0600);
in do_coredump().  So take a look at fs/exec.c:format_corename() and see
what to feed for it in order to get the equivalent of your patch.
core_patttern is set by sysctl (just say
echo [whatever] /proc/sys/kernel/core_pattern 
and don't forget quoting, since | should be the first character to indicate
that you want to pipe coredump through a helper).

I really don't see a reason to do that kind of work in the kernel, embedded
system or not.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Pallewatta Mano-FPCD67
This support was there in the 2.6.16.51 kernel. In fact there was no
call_usermodehelper_pipe().

Mano

-Original Message-
From: Al Viro [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 03, 2007 8:27 PM
To: Pallewatta Mano-FPCD67
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

On Mon, Sep 03, 2007 at 10:32:00PM -0400, Pallewatta Mano-FPCD67 wrote:
 This patch was developed for embedded systems which had limited space
 for file storage. If an external process is to compress core files you
 will need to store those files somewhere first as core dump output
 cannot be directly fed to the stdin of compression program.

Why?  Create a pipe, start a new process, put the reader struct file
into its descriptor table as stdin, do execve in new process and
pass the writer struct file to -core_dump().

As the matter of fact, it's already done - see
lock_kernel();
ispipe = format_corename(corename, core_pattern, signr);
unlock_kernel();
if (ispipe) {
/* SIGPIPE can happen, but it's just never processed */
if(call_usermodehelper_pipe(corename+1, NULL, NULL,
file)) {
printk(KERN_INFO Core dump to %s pipe
failed\n,
   corename);
goto fail_unlock;
}
} else
file = filp_open(corename,
 O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE
| flag,
 0600);
in do_coredump().  So take a look at fs/exec.c:format_corename() and see
what to feed for it in order to get the equivalent of your patch.
core_patttern is set by sysctl (just say
echo [whatever] /proc/sys/kernel/core_pattern 
and don't forget quoting, since | should be the first character to
indicate
that you want to pipe coredump through a helper).

I really don't see a reason to do that kind of work in the kernel,
embedded
system or not.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] linux-2.6.16.51 gzipped core dump patch

2007-09-03 Thread Al Viro
On Tue, Sep 04, 2007 at 12:04:37AM -0400, Pallewatta Mano-FPCD67 wrote:
 This support was there in the 2.6.16.51 kernel. In fact there was no
 call_usermodehelper_pipe().

So backport it, instead of creating an incompatible interface and headache
when you eventually rebase to later kernel.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/