tty,vcs removing con_buf/conf_buf_mtx
seems there's no longer need for using con_buf/conf_buf_mtx as vcs_read/vcs_write buffer for user's data. The do_con_write function, that was the other user of this, is currently using its own kmalloc-ed buffer. Not sure when this got changed, as I was able to find this code in 2.6.9, but it's already gone as far as current git history goes - 2.6.12-rc2. AFAICS there's a behaviour change with the current change. The lseek is not completely mutually exclusive with the vcs_read/vcs_write - the file->f_pos might get updated via lseek callback during the vcs_read/vcs_write processing. I tried to find out if the prefered behaviour is to keep this in sync within read/write/lseek functions, but I did not find any pattern on different places. I guess if user end up calling write/lseek from different threads she should know what she's doing. If needed we could use dedicated fd mutex/buffer. Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
dc1892c4bc
commit
fcdba07ee3
@@ -2068,18 +2068,6 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c)
|
||||
}
|
||||
}
|
||||
|
||||
/* This is a temporary buffer used to prepare a tty console write
|
||||
* so that we can easily avoid touching user space while holding the
|
||||
* console spinlock. It is allocated in con_init and is shared by
|
||||
* this code and the vc_screen read/write tty calls.
|
||||
*
|
||||
* We have to allocate this statically in the kernel data section
|
||||
* since console_init (and thus con_init) are called before any
|
||||
* kernel memory allocation is available.
|
||||
*/
|
||||
char con_buf[CON_BUF_SIZE];
|
||||
DEFINE_MUTEX(con_buf_mtx);
|
||||
|
||||
/* is_double_width() is based on the wcwidth() implementation by
|
||||
* Markus Kuhn -- 2007-05-26 (Unicode 5.0)
|
||||
* Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
|
||||
|
||||
Reference in New Issue
Block a user