From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>, Mikael Starvik <starvik@axis.com>,
Jesper Nilsson <jesper.nilsson@axis.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-cris-kernel@axis.com, linux-serial@vger.kernel.org
Subject: Re: [PATCH 3/3] tty: remove buf parameter from tty_name()
Date: Tue, 31 Mar 2015 14:40:59 -0700 [thread overview]
Message-ID: <20150331214059.GA2045@dtor-ws> (raw)
In-Reply-To: <1427810160-15779-4-git-send-email-linux@rasmusvillemoes.dk>
On Tue, Mar 31, 2015 at 03:55:59PM +0200, Rasmus Villemoes wrote:
> tty_name no longer uses the buf parameter, so remove it along with all
> the 64 byte stack buffers that used to be passed in.
>
> Mostly generated by the coccinelle script
>
> @depends on patch@
> identifier buf;
> constant C;
> expression tty;
> @@
> - char buf[C];
> <+...
> - tty_name(tty, buf)
> + tty_name(tty)
> ...+>
>
> allmodconfig compiles, so I'm fairly confident the stack buffers
> weren't used for other purposes as well.
>
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> ---
> drivers/input/serio/serport.c | 5 ++---
I am fine with serport changes.
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Thanks.
> drivers/tty/amiserial.c | 8 ++------
> drivers/tty/cyclades.c | 8 ++------
> drivers/tty/n_gsm.c | 3 +--
> drivers/tty/n_tty.c | 7 ++-----
> drivers/tty/serial/crisv10.c | 8 ++------
> drivers/tty/serial/serial_core.c | 4 +---
> drivers/tty/tty_io.c | 28 +++++++++++-----------------
> drivers/tty/tty_ioctl.c | 4 +---
> drivers/tty/tty_ldisc.c | 8 +++-----
> include/linux/tty.h | 2 +-
> 11 files changed, 28 insertions(+), 57 deletions(-)
>
> diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c
> index 69175b825346..9c927d35c1f5 100644
> --- a/drivers/input/serio/serport.c
> +++ b/drivers/input/serio/serport.c
> @@ -167,7 +167,6 @@ static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, u
> {
> struct serport *serport = (struct serport*) tty->disc_data;
> struct serio *serio;
> - char name[64];
>
> if (test_and_set_bit(SERPORT_BUSY, &serport->flags))
> return -EBUSY;
> @@ -177,7 +176,7 @@ static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, u
> return -ENOMEM;
>
> strlcpy(serio->name, "Serial port", sizeof(serio->name));
> - snprintf(serio->phys, sizeof(serio->phys), "%s/serio0", tty_name(tty, name));
> + snprintf(serio->phys, sizeof(serio->phys), "%s/serio0", tty_name(tty));
> serio->id = serport->id;
> serio->id.type = SERIO_RS232;
> serio->write = serport_serio_write;
> @@ -187,7 +186,7 @@ static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, u
> serio->dev.parent = tty->dev;
>
> serio_register_port(serport->serio);
> - printk(KERN_INFO "serio: Serial port %s\n", tty_name(tty, name));
> + printk(KERN_INFO "serio: Serial port %s\n", tty_name(tty));
>
> wait_event_interruptible(serport->wait, test_bit(SERPORT_DEAD, &serport->flags));
> serio_unregister_port(serport->serio);
> diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c
> index b2d760055952..894d3a84e285 100644
> --- a/drivers/tty/amiserial.c
> +++ b/drivers/tty/amiserial.c
> @@ -966,9 +966,7 @@ static void rs_throttle(struct tty_struct * tty)
> struct serial_state *info = tty->driver_data;
> unsigned long flags;
> #ifdef SERIAL_DEBUG_THROTTLE
> - char buf[64];
> -
> - printk("throttle %s: %d....\n", tty_name(tty, buf),
> + printk("throttle %s: %d....\n", tty_name(tty),
> tty->ldisc.chars_in_buffer(tty));
> #endif
>
> @@ -991,9 +989,7 @@ static void rs_unthrottle(struct tty_struct * tty)
> struct serial_state *info = tty->driver_data;
> unsigned long flags;
> #ifdef SERIAL_DEBUG_THROTTLE
> - char buf[64];
> -
> - printk("unthrottle %s: %d....\n", tty_name(tty, buf),
> + printk("unthrottle %s: %d....\n", tty_name(tty),
> tty->ldisc.chars_in_buffer(tty));
> #endif
>
> diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
> index fd66f57390d0..87f6578c6f4a 100644
> --- a/drivers/tty/cyclades.c
> +++ b/drivers/tty/cyclades.c
> @@ -2861,9 +2861,7 @@ static void cy_throttle(struct tty_struct *tty)
> unsigned long flags;
>
> #ifdef CY_DEBUG_THROTTLE
> - char buf[64];
> -
> - printk(KERN_DEBUG "cyc:throttle %s: %ld...ttyC%d\n", tty_name(tty, buf),
> + printk(KERN_DEBUG "cyc:throttle %s: %ld...ttyC%d\n", tty_name(tty),
> tty->ldisc.chars_in_buffer(tty), info->line);
> #endif
>
> @@ -2902,10 +2900,8 @@ static void cy_unthrottle(struct tty_struct *tty)
> unsigned long flags;
>
> #ifdef CY_DEBUG_THROTTLE
> - char buf[64];
> -
> printk(KERN_DEBUG "cyc:unthrottle %s: %ld...ttyC%d\n",
> - tty_name(tty, buf), tty_chars_in_buffer(tty), info->line);
> + tty_name(tty), tty_chars_in_buffer(tty), info->line);
> #endif
>
> if (serial_paranoia_check(info, tty->name, "cy_unthrottle"))
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index c4343764cc5b..9b6d3d5ee51c 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -2274,7 +2274,6 @@ static void gsmld_receive_buf(struct tty_struct *tty, const unsigned char *cp,
> const unsigned char *dp;
> char *f;
> int i;
> - char buf[64];
> char flags = TTY_NORMAL;
>
> if (debug & 4)
> @@ -2296,7 +2295,7 @@ static void gsmld_receive_buf(struct tty_struct *tty, const unsigned char *cp,
> break;
> default:
> WARN_ONCE(1, "%s: unknown flag %d\n",
> - tty_name(tty, buf), flags);
> + tty_name(tty), flags);
> break;
> }
> }
> diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> index cf6e0f2e1331..54da8f49394d 100644
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -1179,13 +1179,12 @@ static void n_tty_receive_break(struct tty_struct *tty)
> static void n_tty_receive_overrun(struct tty_struct *tty)
> {
> struct n_tty_data *ldata = tty->disc_data;
> - char buf[64];
>
> ldata->num_overrun++;
> if (time_after(jiffies, ldata->overrun_time + HZ) ||
> time_after(ldata->overrun_time, jiffies)) {
> printk(KERN_WARNING "%s: %d input overrun(s)\n",
> - tty_name(tty, buf),
> + tty_name(tty),
> ldata->num_overrun);
> ldata->overrun_time = jiffies;
> ldata->num_overrun = 0;
> @@ -1460,8 +1459,6 @@ static void n_tty_receive_char_closing(struct tty_struct *tty, unsigned char c)
> static void
> n_tty_receive_char_flagged(struct tty_struct *tty, unsigned char c, char flag)
> {
> - char buf[64];
> -
> switch (flag) {
> case TTY_BREAK:
> n_tty_receive_break(tty);
> @@ -1475,7 +1472,7 @@ n_tty_receive_char_flagged(struct tty_struct *tty, unsigned char c, char flag)
> break;
> default:
> printk(KERN_ERR "%s: unknown flag %d\n",
> - tty_name(tty, buf), flag);
> + tty_name(tty), flag);
> break;
> }
> }
> diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c
> index 0c1825b0b41d..568ea0d2d699 100644
> --- a/drivers/tty/serial/crisv10.c
> +++ b/drivers/tty/serial/crisv10.c
> @@ -3216,9 +3216,7 @@ rs_throttle(struct tty_struct * tty)
> {
> struct e100_serial *info = (struct e100_serial *)tty->driver_data;
> #ifdef SERIAL_DEBUG_THROTTLE
> - char buf[64];
> -
> - printk("throttle %s: %lu....\n", tty_name(tty, buf),
> + printk("throttle %s: %lu....\n", tty_name(tty),
> (unsigned long)tty->ldisc.chars_in_buffer(tty));
> #endif
> DFLOW(DEBUG_LOG(info->line,"rs_throttle %lu\n", tty->ldisc.chars_in_buffer(tty)));
> @@ -3238,9 +3236,7 @@ rs_unthrottle(struct tty_struct * tty)
> {
> struct e100_serial *info = (struct e100_serial *)tty->driver_data;
> #ifdef SERIAL_DEBUG_THROTTLE
> - char buf[64];
> -
> - printk("unthrottle %s: %lu....\n", tty_name(tty, buf),
> + printk("unthrottle %s: %lu....\n", tty_name(tty),
> (unsigned long)tty->ldisc.chars_in_buffer(tty));
> #endif
> DFLOW(DEBUG_LOG(info->line,"rs_unthrottle ldisc %d\n", tty->ldisc.chars_in_buffer(tty)));
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index 6a1055ae3437..4e73b6482f0b 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -894,12 +894,10 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
> * need to rate-limit; it's CAP_SYS_ADMIN only.
> */
> if (uport->flags & UPF_SPD_MASK) {
> - char buf[64];
> -
> dev_notice(uport->dev,
> "%s sets custom speed on %s. This is deprecated.\n",
> current->comm,
> - tty_name(port->tty, buf));
> + tty_name(port->tty));
> }
> uart_change_speed(tty, state, NULL);
> }
> diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
> index ab549e7bdaa8..96f948dc43a6 100644
> --- a/drivers/tty/tty_io.c
> +++ b/drivers/tty/tty_io.c
> @@ -235,7 +235,6 @@ static void tty_del_file(struct file *file)
> /**
> * tty_name - return tty naming
> * @tty: tty structure
> - * @buf: unused
> *
> * Convert a tty structure into a name. The name reflects the kernel
> * naming policy and if udev is in use may not reflect user space
> @@ -243,7 +242,7 @@ static void tty_del_file(struct file *file)
> * Locking: none
> */
>
> -const char *tty_name(const struct tty_struct *tty, char *buf)
> +const char *tty_name(const struct tty_struct *tty)
> {
> if (!tty) /* Hmm. NULL pointer. That's fun. */
> return "NULL tty";
> @@ -768,8 +767,7 @@ static void do_tty_hangup(struct work_struct *work)
> void tty_hangup(struct tty_struct *tty)
> {
> #ifdef TTY_DEBUG_HANGUP
> - char buf[64];
> - printk(KERN_DEBUG "%s hangup...\n", tty_name(tty, buf));
> + printk(KERN_DEBUG "%s hangup...\n", tty_name(tty));
> #endif
> schedule_work(&tty->hangup_work);
> }
> @@ -788,9 +786,7 @@ EXPORT_SYMBOL(tty_hangup);
> void tty_vhangup(struct tty_struct *tty)
> {
> #ifdef TTY_DEBUG_HANGUP
> - char buf[64];
> -
> - printk(KERN_DEBUG "%s vhangup...\n", tty_name(tty, buf));
> + printk(KERN_DEBUG "%s vhangup...\n", tty_name(tty));
> #endif
> __tty_hangup(tty, 0);
> }
> @@ -829,9 +825,7 @@ void tty_vhangup_self(void)
> static void tty_vhangup_session(struct tty_struct *tty)
> {
> #ifdef TTY_DEBUG_HANGUP
> - char buf[64];
> -
> - printk(KERN_DEBUG "%s vhangup session...\n", tty_name(tty, buf));
> + printk(KERN_DEBUG "%s vhangup session...\n", tty_name(tty));
> #endif
> __tty_hangup(tty, 1);
> }
> @@ -1761,7 +1755,6 @@ int tty_release(struct inode *inode, struct file *filp)
> struct tty_struct *o_tty = NULL;
> int do_sleep, final;
> int idx;
> - char buf[64];
> long timeout = 0;
> int once = 1;
>
> @@ -1785,7 +1778,7 @@ int tty_release(struct inode *inode, struct file *filp)
>
> #ifdef TTY_DEBUG_HANGUP
> printk(KERN_DEBUG "%s: %s (tty count=%d)...\n", __func__,
> - tty_name(tty, buf), tty->count);
> + tty_name(tty), tty->count);
> #endif
>
> if (tty->ops->close)
> @@ -1836,7 +1829,7 @@ int tty_release(struct inode *inode, struct file *filp)
> if (once) {
> once = 0;
> printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
> - __func__, tty_name(tty, buf));
> + __func__, tty_name(tty));
> }
> schedule_timeout_killable(timeout);
> if (timeout < 120 * HZ)
> @@ -1848,13 +1841,13 @@ int tty_release(struct inode *inode, struct file *filp)
> if (o_tty) {
> if (--o_tty->count < 0) {
> printk(KERN_WARNING "%s: bad pty slave count (%d) for %s\n",
> - __func__, o_tty->count, tty_name(o_tty, buf));
> + __func__, o_tty->count, tty_name(o_tty));
> o_tty->count = 0;
> }
> }
> if (--tty->count < 0) {
> printk(KERN_WARNING "%s: bad tty->count (%d) for %s\n",
> - __func__, tty->count, tty_name(tty, buf));
> + __func__, tty->count, tty_name(tty));
> tty->count = 0;
> }
>
> @@ -1897,7 +1890,7 @@ int tty_release(struct inode *inode, struct file *filp)
> return 0;
>
> #ifdef TTY_DEBUG_HANGUP
> - printk(KERN_DEBUG "%s: %s: final close\n", __func__, tty_name(tty, buf));
> + printk(KERN_DEBUG "%s: %s: final close\n", __func__, tty_name(tty));
> #endif
> /*
> * Ask the line discipline code to release its structures
> @@ -1908,7 +1901,8 @@ int tty_release(struct inode *inode, struct file *filp)
> tty_flush_works(tty);
>
> #ifdef TTY_DEBUG_HANGUP
> - printk(KERN_DEBUG "%s: %s: freeing structure...\n", __func__, tty_name(tty, buf));
> + printk(KERN_DEBUG "%s: %s: freeing structure...\n", __func__,
> + tty_name(tty));
> #endif
> /*
> * The release_tty function takes care of the details of clearing
> diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c
> index 632fc8152061..e590207e9c0a 100644
> --- a/drivers/tty/tty_ioctl.c
> +++ b/drivers/tty/tty_ioctl.c
> @@ -211,9 +211,7 @@ int tty_unthrottle_safe(struct tty_struct *tty)
> void tty_wait_until_sent(struct tty_struct *tty, long timeout)
> {
> #ifdef TTY_DEBUG_WAIT_UNTIL_SENT
> - char buf[64];
> -
> - printk(KERN_DEBUG "%s wait until sent...\n", tty_name(tty, buf));
> + printk(KERN_DEBUG "%s wait until sent...\n", tty_name(tty));
> #endif
> if (!timeout)
> timeout = MAX_SCHEDULE_TIMEOUT;
> diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
> index 3737f55272d2..c07fb5d9bcf9 100644
> --- a/drivers/tty/tty_ldisc.c
> +++ b/drivers/tty/tty_ldisc.c
> @@ -22,9 +22,8 @@
> #undef LDISC_DEBUG_HANGUP
>
> #ifdef LDISC_DEBUG_HANGUP
> -#define tty_ldisc_debug(tty, f, args...) ({ \
> - char __b[64]; \
> - printk(KERN_DEBUG "%s: %s: " f, __func__, tty_name(tty, __b), ##args); \
> +#define tty_ldisc_debug(tty, f, args...) ({ \
> + printk(KERN_DEBUG "%s: %s: " f, __func__, tty_name(tty), ##args); \
> })
> #else
> #define tty_ldisc_debug(tty, f, args...)
> @@ -483,7 +482,6 @@ static void tty_ldisc_close(struct tty_struct *tty, struct tty_ldisc *ld)
>
> static void tty_ldisc_restore(struct tty_struct *tty, struct tty_ldisc *old)
> {
> - char buf[64];
> struct tty_ldisc *new_ldisc;
> int r;
>
> @@ -504,7 +502,7 @@ static void tty_ldisc_restore(struct tty_struct *tty, struct tty_ldisc *old)
> if (r < 0)
> panic("Couldn't open N_TTY ldisc for "
> "%s --- error %d.",
> - tty_name(tty, buf), r);
> + tty_name(tty), r);
> }
> }
>
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 8771cc4faf9f..f0fc326cf08e 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -421,7 +421,7 @@ static inline struct tty_struct *tty_kref_get(struct tty_struct *tty)
>
> extern int tty_paranoia_check(struct tty_struct *tty, struct inode *inode,
> const char *routine);
> -extern const char *tty_name(const struct tty_struct *tty, char *buf);
> +extern const char *tty_name(const struct tty_struct *tty);
> extern void tty_wait_until_sent(struct tty_struct *tty, long timeout);
> extern int tty_check_change(struct tty_struct *tty);
> extern void __stop_tty(struct tty_struct *tty);
> --
> 2.1.3
>
--
Dmitry
next prev parent reply other threads:[~2015-03-31 21:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 13:55 [PATCH 0/3] tty: eliminate 64 byte stack buffers passed to tty_name Rasmus Villemoes
2015-03-31 13:55 ` [PATCH 1/3] tty: constify return type of tty_name Rasmus Villemoes
2015-03-31 13:55 ` [PATCH 2/3] tty: return tty->name directly from tty_name Rasmus Villemoes
2015-03-31 13:55 ` [PATCH 3/3] tty: remove buf parameter from tty_name() Rasmus Villemoes
2015-03-31 21:40 ` Dmitry Torokhov [this message]
2015-04-07 8:57 ` Jesper Nilsson
2015-04-04 0:20 ` [PATCH 0/3] tty: eliminate 64 byte stack buffers passed to tty_name Peter Hurley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150331214059.GA2045@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jesper.nilsson@axis.com \
--cc=jslaby@suse.cz \
--cc=linux-cris-kernel@axis.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=starvik@axis.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.