[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL4kbRNZNYHdwy1jLREEU0Bt9Tsy7oS-LXU1oi33gNLBj-OUUw@mail.gmail.com>
Date: Fri, 3 Oct 2025 00:01:57 +0530
From: Kriish Sharma <kriish.sharma2006@...il.com>
To: Dimitri Daskalakis <dimitri.daskalakis1@...il.com>
Cc: khc@...waw.pl, andrew+netdev@...n.ch, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
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
Thanks for the suggestion. For this patch, I opted to handle the
fallback locally in ppp_cp_event to keep the change minimal and low
risk.
On Thu, Oct 2, 2025 at 11:46 PM Dimitri Daskalakis
<dimitri.daskalakis1@...il.com> wrote:
>
> 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