Revert "kmsg: add ioctl for adding and deleting kmsg* devices"
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 25 Apr 2018 09:51:18 +0000 (11:51 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 25 Apr 2018 09:51:18 +0000 (11:51 +0200)
This reverts commit a6ef3e8fba638c910faff51b5e9053356f6c2dff.

Documentation/ioctl/ioctl-number.txt
drivers/char/mem.c
include/linux/printk.h
include/uapi/linux/Kbuild
include/uapi/linux/kmsg_ioctl.h [deleted file]
kernel/printk/printk.c

index 5258759bb0ff2ada60c36c962c542348bf1fa3e2..ec7c81b4f94177217ab2f9bf079d7880535755fe 100644 (file)
@@ -313,7 +313,6 @@ Code  Seq#(hex)     Include File            Comments
                                        <mailto:vgo@ratio.de>
 0xB1   00-1F   PPPoX                   <mailto:mostrows@styx.uwaterloo.ca>
 0xB3   00      linux/mmc/ioctl.h
-0xBB   00-02   uapi/linux/kmsg_ioctl.h
 0xC0   00-0F   linux/usb/iowarrior.h
 0xCA   00-0F   uapi/misc/cxl.h
 0xCB   00-1F   CBM serial IEC bus      in development:
index ac824deff5cf8a8055f0cdd4c64116f63db80e7d..7d462343a4b0282d30cbb4b5ea3753e72121ecb3 100644 (file)
@@ -808,7 +808,7 @@ static int memory_open(struct inode *inode, struct file *filp)
 
        minor = iminor(inode);
        if (minor >= ARRAY_SIZE(devlist))
-               return kmsg_memory_open_ext(inode, filp);
+               return kmsg_memory_open(inode, filp);
 
        dev = &devlist[minor];
        if (!dev->fops)
index 4293dfe8977210dccbba91d57c609ccd274c6b0c..76c404bbe5009f1e8fa8ce828aeb9a6dccf81f48 100644 (file)
@@ -427,11 +427,9 @@ extern struct class *mem_class;
 #define KMSG_MINOR     11
 
 extern const struct file_operations kmsg_fops;
-extern const struct file_operations kmsg_fops_ext;
 
 extern struct device *init_kmsg(int minor, umode_t mode);
 extern int kmsg_memory_open(struct inode *inode, struct file *filp);
-extern int kmsg_memory_open_ext(struct inode *inode, struct file *filp);
 extern int kmsg_mode(int minor, umode_t *mode);
 extern int kmsg_sys_buffer_add(size_t size, umode_t mode);
 extern void kmsg_sys_buffer_del(int minor);
@@ -448,11 +446,6 @@ static inline int kmsg_memory_open(struct inode *inode, struct file *filp)
        return -ENXIO;
 }
 
-static inline int kmsg_memory_open_ext(struct inode *inode, struct file *filp)
-{
-       return -ENXIO;
-}
-
 static inline int kmsg_mode(int minor, umode_t *mode)
 {
        return -ENXIO;
index 563346f9ba51dd5b2d0314193b331b4ac52634af..0cb4dd5a44035ee1d9c7b6859eba88868788615e 100644 (file)
@@ -225,7 +225,6 @@ header-y += kernel-page-flags.h
 header-y += kexec.h
 header-y += keyboard.h
 header-y += keyctl.h
-header-y += kmsg_ioctl.h
 
 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h \
                  $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h),)
diff --git a/include/uapi/linux/kmsg_ioctl.h b/include/uapi/linux/kmsg_ioctl.h
deleted file mode 100644 (file)
index 89c0c61..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This is ioctl include for kmsg* devices
- */
-
-#ifndef _KMSG_IOCTL_H_
-#define _KMSG_IOCTL_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-struct kmsg_cmd_buffer_add {
-       size_t size;
-       unsigned short mode;
-       int minor;
-} __attribute__((packed));
-
-#define KMSG_IOCTL_MAGIC       0xBB
-
-/*
- * A ioctl interface for kmsg device.
- *
- * KMSG_CMD_BUFFER_ADD:        Creates additional kmsg device based on its size
- *                     and mode. Minor of created device is put.
- * KMSG_CMD_BUFFER_DEL:        Removes additional kmsg device based on its minor
- */
-#define KMSG_CMD_BUFFER_ADD            _IOWR(KMSG_IOCTL_MAGIC, 0x00, \
-                                             struct kmsg_cmd_buffer_add)
-#define KMSG_CMD_BUFFER_DEL            _IOW(KMSG_IOCTL_MAGIC, 0x01, int)
-
-#endif
index 944a81ae1ecf42efff9666bd532fde3dbca3ba94..0d3c4b232155b2f0b2517dbf858a9d1986d21111 100644 (file)
 #define CREATE_TRACE_POINTS
 #include <trace/events/printk.h>
 
-#ifdef CONFIG_PRINTK
-#include <uapi/linux/kmsg_ioctl.h>
-#endif
-
 #include "console_cmdline.h"
 #include "braille.h"
 
@@ -1271,120 +1267,6 @@ const struct file_operations kmsg_fops = {
        .release = devkmsg_release,
 };
 
-#define MAX_MINOR_LEN  20
-
-static int kmsg_open_ext(struct inode *inode, struct file *file)
-{
-       return kmsg_fops.open(inode, file);
-}
-
-static ssize_t kmsg_write_iter_ext(struct kiocb *iocb, struct iov_iter *from)
-{
-       return kmsg_fops.write_iter(iocb, from);
-}
-
-static ssize_t kmsg_read_ext(struct file *file, char __user *buf,
-                            size_t count, loff_t *ppos)
-{
-       return kmsg_fops.read(file, buf, count, ppos);
-}
-
-static loff_t kmsg_llseek_ext(struct file *file, loff_t offset, int whence)
-{
-       return kmsg_fops.llseek(file, offset, whence);
-}
-
-static unsigned int kmsg_poll_ext(struct file *file,
-                                 struct poll_table_struct *wait)
-{
-       return kmsg_fops.poll(file, wait);
-}
-
-static long kmsg_ioctl_buffers(struct file *file, unsigned int cmd,
-                              unsigned long arg)
-{
-       void __user *argp = (void __user *)arg;
-       size_t size;
-       umode_t mode;
-       char name[4 + MAX_MINOR_LEN + 1];
-       struct device *dev;
-       int minor;
-
-       if (iminor(file->f_inode) != log_buf.minor)
-               return -ENOTTY;
-
-       switch (cmd) {
-       case KMSG_CMD_BUFFER_ADD:
-               if (copy_from_user(&size, argp, sizeof(size)))
-                       return -EFAULT;
-               argp += sizeof(size);
-               if (copy_from_user(&mode, argp, sizeof(mode)))
-                       return -EFAULT;
-               argp += sizeof(mode);
-               minor = kmsg_sys_buffer_add(size, mode);
-               if (minor < 0)
-                       return minor;
-               sprintf(name, "kmsg%d", minor);
-               dev = device_create(mem_class, NULL, MKDEV(MEM_MAJOR, minor),
-                                   NULL, name);
-               if (IS_ERR(dev)) {
-                       kmsg_sys_buffer_del(minor);
-                       return PTR_ERR(dev);
-               }
-               if (copy_to_user(argp, &minor, sizeof(minor))) {
-                       device_destroy(mem_class, MKDEV(MEM_MAJOR, minor));
-                       kmsg_sys_buffer_del(minor);
-                       return -EFAULT;
-               }
-               return 0;
-       case KMSG_CMD_BUFFER_DEL:
-               if (copy_from_user(&minor, argp, sizeof(minor)))
-                       return -EFAULT;
-               if (minor <= log_buf.minor)
-                       return -EINVAL;
-               device_destroy(mem_class, MKDEV(MEM_MAJOR, minor));
-               kmsg_sys_buffer_del(minor);
-               return 0;
-       }
-       return -ENOTTY;
-}
-
-static long kmsg_unlocked_ioctl_ext(struct file *file, unsigned int cmd,
-                                   unsigned long arg)
-{
-       long ret = kmsg_ioctl_buffers(file, cmd, arg);
-
-       if (ret == -ENOTTY)
-               return kmsg_fops.unlocked_ioctl(file, cmd, arg);
-       return ret;
-}
-
-static long kmsg_compat_ioctl_ext(struct file *file, unsigned int cmd,
-                                 unsigned long arg)
-{
-       long ret = kmsg_ioctl_buffers(file, cmd, arg);
-
-       if (ret == -ENOTTY)
-               return kmsg_fops.compat_ioctl(file, cmd, arg);
-       return ret;
-}
-
-static int kmsg_release_ext(struct inode *inode, struct file *file)
-{
-       return kmsg_fops.release(inode, file);
-}
-
-const struct file_operations kmsg_fops_ext = {
-       .open           = kmsg_open_ext,
-       .read           = kmsg_read_ext,
-       .write_iter     = kmsg_write_iter_ext,
-       .llseek         = kmsg_llseek_ext,
-       .poll           = kmsg_poll_ext,
-       .unlocked_ioctl = kmsg_unlocked_ioctl_ext,
-       .compat_ioctl   = kmsg_compat_ioctl_ext,
-       .release        = kmsg_release_ext,
-};
-
 /* Should be used for device registration */
 struct device *init_kmsg(int minor, umode_t mode)
 {
@@ -1401,13 +1283,6 @@ int kmsg_memory_open(struct inode *inode, struct file *filp)
        return kmsg_fops.open(inode, filp);
 }
 
-int kmsg_memory_open_ext(struct inode *inode, struct file *filp)
-{
-       filp->f_op = &kmsg_fops_ext;
-
-       return kmsg_fops_ext.open(inode, filp);
-}
-
 int kmsg_mode(int minor, umode_t *mode)
 {
        int ret = -ENXIO;