[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <34901d4b-0fa9-4a86-b8b1-9c9dc5ed0e2e@gmail.com>
Date: Thu, 2 Oct 2025 11:16:13 -0700
From: Dimitri Daskalakis <dimitri.daskalakis1@...il.com>
To: Kriish Sharma <kriish.sharma2006@...il.com>, khc@...waw.pl,
andrew+netdev@...n.ch, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drivers/net/wan/hdlc_ppp: fix potential null pointer in
ppp_cp_event logging
On 10/2/25 11:05 AM, Kriish Sharma wrote:
> Fixes warnings observed during compilation with -Wformat-overflow:
>
> drivers/net/wan/hdlc_ppp.c: In function ‘ppp_cp_event’:
> drivers/net/wan/hdlc_ppp.c:353:17: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
> 353 | netdev_info(dev, "%s down\n", proto_name(pid));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/wan/hdlc_ppp.c:342:17: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
> 342 | netdev_info(dev, "%s up\n", proto_name(pid));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Introduce local variable `pname` and fallback to "unknown" if proto_name(pid)
> returns NULL.
>
> Fixes: 262858079afd ("Add linux-next specific files for 20250926")
> Signed-off-by: Kriish Sharma <kriish.sharma2006@...il.com>
> ---
> drivers/net/wan/hdlc_ppp.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wan/hdlc_ppp.c b/drivers/net/wan/hdlc_ppp.c
> index 7496a2e9a282..f3b3fa8d46fd 100644
> --- a/drivers/net/wan/hdlc_ppp.c
> +++ b/drivers/net/wan/hdlc_ppp.c
> @@ -339,7 +339,9 @@ static void ppp_cp_event(struct net_device *dev, u16 pid, u16 event, u8 code,
> ppp_tx_cp(dev, pid, CP_CODE_REJ, ++ppp->seq, len, data);
>
> if (old_state != OPENED && proto->state == OPENED) {
> - netdev_info(dev, "%s up\n", proto_name(pid));
> + const char *pname = proto_name(pid);
> +
> + netdev_info(dev, "%s up\n", pname ? pname : "unknown");
> if (pid == PID_LCP) {
> netif_dormant_off(dev);
> ppp_cp_event(dev, PID_IPCP, START, 0, 0, 0, NULL);
> @@ -350,7 +352,9 @@ static void ppp_cp_event(struct net_device *dev, u16 pid, u16 event, u8 code,
> }
> }
> if (old_state == OPENED && proto->state != OPENED) {
> - netdev_info(dev, "%s down\n", proto_name(pid));
> + const char *pname = proto_name(pid);
> +
> + netdev_info(dev, "%s down\n", pname ? pname : "unknown");
> if (pid == PID_LCP) {
> netif_dormant_on(dev);
> ppp_cp_event(dev, PID_IPCP, STOP, 0, 0, 0, NULL);
Would it be better to return "unknown" in proto_name()'s default case?
Powered by blists - more mailing lists