logger: adapt access mode checks
authorŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 9 Apr 2021 14:59:56 +0000 (16:59 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 22 Apr 2021 13:19:13 +0000 (15:19 +0200)
Allow setting the tag and the priority only for files opened O_WRONLY.

Change-Id: Icc9d7a8eb96f8f1b1aa00717aae1f32f7a2e52e4
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
drivers/staging/android/logger.c

index fb6afb3..67608e0 100644 (file)
@@ -957,7 +957,8 @@ static long logger_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                ret = logger_set_version(reader, argp);
                break;
        case LOGGER_SET_PRIO:   /* 44552 */
-               if (file->f_mode & FMODE_READ) {
+               if ((file->f_mode & FMODE_READ) ||
+                   !(file->f_mode & FMODE_WRITE)) {
                        ret = -EBADF;
                        break;
                }
@@ -965,7 +966,8 @@ static long logger_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                ret = logger_set_prio(writer, argp);
                break;
        case LOGGER_SET_TAG:    /* 44551 */
-               if (file->f_mode & FMODE_READ) {
+               if ((file->f_mode & FMODE_READ) ||
+                   !(file->f_mode & FMODE_WRITE)) {
                        ret = -EBADF;
                        break;
                }