From:Ananth N.Mavinakayanahalli <ana...@in.ibm.com> Create the /proc/PID/core entry.
Signed-off-by: Suzuki K. Poulose <suz...@in.ibm.com> Signed-off-by: Ananth N.Mavinakayanahalli <ana...@in.ibm.com> --- fs/proc/Makefile | 1 + fs/proc/base.c | 2 ++ fs/proc/gencore.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/proc/internal.h | 1 + 4 files changed, 52 insertions(+) create mode 100644 fs/proc/gencore.c diff --git a/fs/proc/Makefile b/fs/proc/Makefile index ab30716..a456c22 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile @@ -23,6 +23,7 @@ proc-y += version.o proc-y += softirqs.o proc-y += namespaces.o proc-y += self.o +proc-$(CONFIG_ELF_CORE) += gencore.o proc-$(CONFIG_PROC_SYSCTL) += proc_sysctl.o proc-$(CONFIG_NET) += proc_net.o proc-$(CONFIG_PROC_KCORE) += kcore.o diff --git a/fs/proc/base.c b/fs/proc/base.c index 1485e38..da5a212 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -2640,6 +2640,8 @@ static const struct pid_entry tgid_base_stuff[] = { #endif #ifdef CONFIG_ELF_CORE REG("coredump_filter", S_IRUGO|S_IWUSR, proc_coredump_filter_operations), + REG("core", S_IRUSR, proc_gen_core_operations), + #endif #ifdef CONFIG_TASK_IO_ACCOUNTING INF("io", S_IRUSR, proc_tgid_io_accounting), diff --git a/fs/proc/gencore.c b/fs/proc/gencore.c new file mode 100644 index 0000000..115f1e4 --- /dev/null +++ b/fs/proc/gencore.c @@ -0,0 +1,48 @@ +/* + * Application core dump + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * Copyright (C) IBM Corporation, 2010, 2013 + * + * Authors: + * Ananth N.Mavinakayanahalli <ana...@in.ibm.com> + * Suzuki K. Poulose <suz...@in.ibm.com> + */ + +#include <linux/seq_file.h> +#include "internal.h" + +static ssize_t read_gencore(struct file *file, char __user *buffer, + size_t buflen, loff_t *fpos) +{ + return 0; +} + +static int release_gencore(struct inode *inode, struct file *file) +{ + return 0; +} + +static int open_gencore(struct inode *inode, struct file *filp) +{ + return 0; +} +const struct file_operations proc_gen_core_operations = { + .open = open_gencore, + .read = read_gencore, + .release = release_gencore, +}; + diff --git a/fs/proc/internal.h b/fs/proc/internal.h index 651d09a..47538f2 100644 --- a/fs/proc/internal.h +++ b/fs/proc/internal.h @@ -228,6 +228,7 @@ extern const struct file_operations proc_ns_dir_operations; */ extern const struct file_operations proc_net_operations; extern const struct inode_operations proc_net_inode_operations; +extern const struct file_operations proc_gen_core_operations; #ifdef CONFIG_NET extern int proc_net_init(void); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/