From: "Alexey V. Vissarionov" <gremlin@altlinux.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Alexey V. Vissarionov" <gremlin@altlinux.org>, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>, Alim Akhtar <alim.akhtar@samsung.com>, Jiri Slaby <jirislaby@kernel.org>, Thomas Abraham <thomas.abraham@linaro.org>, Kukjin Kim <kgene.kim@samsung.com>, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-serial@vger.kernel.org, lvc-project@linuxtesting.org Subject: [PATCH v2] serial: samsung: fix buffer size for clk_name Date: Wed, 1 Feb 2023 05:44:57 +0300 [thread overview] Message-ID: <20230201024457.GD446@altlinux.org> (raw) In-Reply-To: <Y8lZNi9pYVFkYvh9@kroah.com> [-- Attachment #1: Type: text/plain, Size: 2542 bytes --] serial: samsung: fix buffer size for clk_name Although very unlikely, the 'clk_num' value may be as big as 2**32 - 1 (uint32_max), so the buffer should have enough space for storing "clk_uart_baud4294967295\0". Also, the numbers in clk_name are expected to be unsigned. Found by ALT Linux Team (altlinux.org) and Linux Verification Center (linuxtesting.org) using SVACE. Signed-off-by: Alexey V. Vissarionov <gremlin@altlinux.org> Fixes: 5f5a7a5578c5 ("serial: samsung: switch to clkdev based clock lookup") --- On 2023-01-19 15:52:38 +0100, Greg Kroah-Hartman wrote: >> Fixes: 5f5a7a5578c58852 ("serial: samsung: switch to clkdev >> based clock lookup") > Please fix your scripts to use the proper number of SHA1 digits > in a Fixes: line as the documentation asks for. Done. Also added the comment to the source regarding the buffer size. diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 0fce856434dafd80..2c701dc7c6a37191 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -1407,7 +1407,7 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, * */ -#define MAX_CLK_NAME_LENGTH 15 +#define MAX_CLK_NAME_LENGTH 24 /* "clk_uart_baud4294967295\0" */ static inline int s3c24xx_serial_getsource(struct uart_port *port) { @@ -1457,7 +1457,7 @@ static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, !(ourport->cfg->clk_sel & (1 << cnt))) continue; - sprintf(clkname, "clk_uart_baud%d", cnt); + sprintf(clkname, "clk_uart_baud%u", cnt); clk = clk_get(ourport->port.dev, clkname); if (IS_ERR(clk)) continue; @@ -1957,7 +1957,7 @@ static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport) if (!(clk_sel & (1 << clk_num))) continue; - sprintf(clk_name, "clk_uart_baud%d", clk_num); + sprintf(clk_name, "clk_uart_baud%u", clk_num); clk = clk_get(dev, clk_name); if (IS_ERR(clk)) continue; @@ -2522,7 +2522,7 @@ s3c24xx_serial_get_options(struct uart_port *port, int *baud, /* now calculate the baud rate */ clk_sel = s3c24xx_serial_getsource(port); - sprintf(clk_name, "clk_uart_baud%d", clk_sel); + sprintf(clk_name, "clk_uart_baud%u", clk_sel); clk = clk_get(port->dev, clk_name); if (!IS_ERR(clk)) -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: "Alexey V. Vissarionov" <gremlin@altlinux.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Alexey V. Vissarionov" <gremlin@altlinux.org>, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>, Alim Akhtar <alim.akhtar@samsung.com>, Jiri Slaby <jirislaby@kernel.org>, Thomas Abraham <thomas.abraham@linaro.org>, Kukjin Kim <kgene.kim@samsung.com>, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-serial@vger.kernel.org, lvc-project@linuxtesting.org Subject: [PATCH v2] serial: samsung: fix buffer size for clk_name Date: Wed, 1 Feb 2023 05:44:57 +0300 [thread overview] Message-ID: <20230201024457.GD446@altlinux.org> (raw) In-Reply-To: <Y8lZNi9pYVFkYvh9@kroah.com> [-- Attachment #1.1: Type: text/plain, Size: 2542 bytes --] serial: samsung: fix buffer size for clk_name Although very unlikely, the 'clk_num' value may be as big as 2**32 - 1 (uint32_max), so the buffer should have enough space for storing "clk_uart_baud4294967295\0". Also, the numbers in clk_name are expected to be unsigned. Found by ALT Linux Team (altlinux.org) and Linux Verification Center (linuxtesting.org) using SVACE. Signed-off-by: Alexey V. Vissarionov <gremlin@altlinux.org> Fixes: 5f5a7a5578c5 ("serial: samsung: switch to clkdev based clock lookup") --- On 2023-01-19 15:52:38 +0100, Greg Kroah-Hartman wrote: >> Fixes: 5f5a7a5578c58852 ("serial: samsung: switch to clkdev >> based clock lookup") > Please fix your scripts to use the proper number of SHA1 digits > in a Fixes: line as the documentation asks for. Done. Also added the comment to the source regarding the buffer size. diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 0fce856434dafd80..2c701dc7c6a37191 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -1407,7 +1407,7 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, * */ -#define MAX_CLK_NAME_LENGTH 15 +#define MAX_CLK_NAME_LENGTH 24 /* "clk_uart_baud4294967295\0" */ static inline int s3c24xx_serial_getsource(struct uart_port *port) { @@ -1457,7 +1457,7 @@ static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, !(ourport->cfg->clk_sel & (1 << cnt))) continue; - sprintf(clkname, "clk_uart_baud%d", cnt); + sprintf(clkname, "clk_uart_baud%u", cnt); clk = clk_get(ourport->port.dev, clkname); if (IS_ERR(clk)) continue; @@ -1957,7 +1957,7 @@ static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport) if (!(clk_sel & (1 << clk_num))) continue; - sprintf(clk_name, "clk_uart_baud%d", clk_num); + sprintf(clk_name, "clk_uart_baud%u", clk_num); clk = clk_get(dev, clk_name); if (IS_ERR(clk)) continue; @@ -2522,7 +2522,7 @@ s3c24xx_serial_get_options(struct uart_port *port, int *baud, /* now calculate the baud rate */ clk_sel = s3c24xx_serial_getsource(port); - sprintf(clk_name, "clk_uart_baud%d", clk_sel); + sprintf(clk_name, "clk_uart_baud%u", clk_sel); clk = clk_get(port->dev, clk_name); if (!IS_ERR(clk)) -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-02-01 2:45 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-16 14:16 [PATCH] serial: samsung: fix buffer size for clk_name Alexey V. Vissarionov 2023-01-16 14:16 ` Alexey V. Vissarionov 2023-01-16 16:16 ` Krzysztof Kozlowski 2023-01-16 16:16 ` Krzysztof Kozlowski 2023-01-16 18:26 ` Alexey V. Vissarionov 2023-01-16 18:26 ` Alexey V. Vissarionov 2023-01-19 14:52 ` Greg Kroah-Hartman 2023-01-19 14:52 ` Greg Kroah-Hartman 2023-02-01 2:44 ` Alexey V. Vissarionov [this message] 2023-02-01 2:44 ` [PATCH v2] " Alexey V. Vissarionov 2023-02-01 7:09 ` Krzysztof Kozlowski 2023-02-01 7:09 ` Krzysztof Kozlowski 2023-02-01 13:06 ` Greg Kroah-Hartman 2023-02-01 13:06 ` Greg Kroah-Hartman
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=20230201024457.GD446@altlinux.org \ --to=gremlin@altlinux.org \ --cc=alim.akhtar@samsung.com \ --cc=gregkh@linuxfoundation.org \ --cc=jirislaby@kernel.org \ --cc=kgene.kim@samsung.com \ --cc=krzysztof.kozlowski@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=lvc-project@linuxtesting.org \ --cc=thomas.abraham@linaro.org \ /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: linkBe 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.