lkml.org 
[lkml]   [2023]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 21/36] tty: don't pass write() to do_tty_write()
    Date
    write() passed to do_tty_write() is always ld->ops->write(). Instead,
    align with iterate_tty_read() and pass the whole ld instead. This makes
    the code easier to follow as it is clear what the write is. And also the
    function signature is more readable.

    Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
    ---
    drivers/tty/tty_io.c | 11 ++++-------
    1 file changed, 4 insertions(+), 7 deletions(-)

    diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
    index 54036a20a102..ea5041fbbf28 100644
    --- a/drivers/tty/tty_io.c
    +++ b/drivers/tty/tty_io.c
    @@ -961,11 +961,8 @@ int tty_write_lock(struct tty_struct *tty, bool ndelay)
    * Split writes up in sane blocksizes to avoid
    * denial-of-service type attacks
    */
    -static inline ssize_t do_tty_write(
    - ssize_t (*write)(struct tty_struct *, struct file *, const unsigned char *, size_t),
    - struct tty_struct *tty,
    - struct file *file,
    - struct iov_iter *from)
    +static inline ssize_t do_tty_write(struct tty_ldisc *ld, struct tty_struct *tty,
    + struct file *file, struct iov_iter *from)
    {
    size_t count = iov_iter_count(from);
    ssize_t ret, written = 0;
    @@ -1022,7 +1019,7 @@ static inline ssize_t do_tty_write(
    if (copy_from_iter(tty->write_buf, size, from) != size)
    break;

    - ret = write(tty, file, tty->write_buf, size);
    + ret = ld->ops->write(tty, file, tty->write_buf, size);
    if (ret <= 0)
    break;

    @@ -1093,7 +1090,7 @@ static ssize_t file_tty_write(struct file *file, struct kiocb *iocb, struct iov_
    if (!ld->ops->write)
    ret = -EIO;
    else
    - ret = do_tty_write(ld->ops->write, tty, file, from);
    + ret = do_tty_write(ld, tty, file, from);
    tty_ldisc_deref(ld);
    return ret;
    }
    --
    2.41.0
    \
     
     \ /
      Last update: 2023-08-10 11:18    [W:4.051 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site