proc: don't use READ_ONCE/WRITE_ONCE for /proc/*/fail-nth
authorAlexey Dobriyan <adobriyan@gmail.com>
Tue, 6 Feb 2018 23:36:55 +0000 (15:36 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 7 Feb 2018 02:32:43 +0000 (18:32 -0800)
READ_ONCE and WRITE_ONCE are useless when there is only one read/write
is being made.

Link: http://lkml.kernel.org/r/20171120204033.GA9446@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/base.c

index fe56f3c7002a7a1b4851fa9b4458df1d3d299c10..373091249bdbce809200566e8a8d9ea2b6bd2010 100644 (file)
@@ -1370,7 +1370,7 @@ static ssize_t proc_fail_nth_write(struct file *file, const char __user *buf,
        task = get_proc_task(file_inode(file));
        if (!task)
                return -ESRCH;
-       WRITE_ONCE(task->fail_nth, n);
+       task->fail_nth = n;
        put_task_struct(task);
 
        return count;
@@ -1386,8 +1386,7 @@ static ssize_t proc_fail_nth_read(struct file *file, char __user *buf,
        task = get_proc_task(file_inode(file));
        if (!task)
                return -ESRCH;
-       len = snprintf(numbuf, sizeof(numbuf), "%u\n",
-                       READ_ONCE(task->fail_nth));
+       len = snprintf(numbuf, sizeof(numbuf), "%u\n", task->fail_nth);
        len = simple_read_from_buffer(buf, count, ppos, numbuf, len);
        put_task_struct(task);