Hello, Looks there is a potential memory leak at drivers/tty/tty_io.c: do_tty_write(). It did allocate a buf_chunk if tty->write_cnt < chunk, however, buf_chunk was not freed after the writing is done. Below tiny patch could fix it. Thanks, -Jeff diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index b425c79..f09e73e 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1011,6 +1011,7 @@ static inline ssize_t do_tty_write( size_t count) { ssize_t ret, written = 0; + unsigned char *buf_chunk = NULL; unsigned int chunk; ret = tty_write_lock(tty, file->f_flags & O_NDELAY); @@ -1041,8 +1042,6 @@ static inline ssize_t do_tty_write( /* write_buf/write_cnt is protected by the atomic_write_lock mutex */ if (tty->write_cnt < chunk) { - unsigned char *buf_chunk; - if (chunk < 1024) chunk = 1024; @@ -1082,6 +1081,9 @@ static inline ssize_t do_tty_write( inode->i_mtime = current_fs_time(inode->i_sb); ret = written; } + + if (buf_chunk) + kfree(buf_chunk); out: tty_write_unlock(tty); return ret; -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html