tracing: disable seeking for trace_pipe_raw
authorLai Jiangshan <laijs@cn.fujitsu.com>
Thu, 2 Apr 2009 07:16:56 +0000 (15:16 +0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 10 Apr 2009 10:44:42 +0000 (12:44 +0200)
commitd1e7e02f30be672c6f6ee40908be83877a0d49d1
tree24f958961d8de3ef0c1d16a407041d096fc1f098
parent62b8e680e61d3f48f2a12ee248ca03ea8f376926
tracing: disable seeking for trace_pipe_raw

Impact: disable pread()

We set tracing_buffers_fops.llseek to no_llseek,
but we can still perform pread() to read this file.

That is not expected.

This fix uses nonseekable_open() to disable it.

tracing_buffers_fops.llseek is still set to no_llseek,
it mark this file is a "non-seekable device" and is used by
sys_splice(). See also do_splice() or manual of splice(2):

ERRORS
       EINVAL Target file system doesn't support  splicing;
              neither  of the descriptors refers to a pipe;
              or offset given for non-seekable device.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <srostedt@redhat.com>
LKML-Reference: <49D46668.8030806@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace.c