All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Jeremy Kerr <jk@codeconstruct.com.au>
Cc: Matt Johnston <matt@codeconstruct.com.au>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next] net: mctp: use nlmsg_payload() for netlink message data extraction
Date: Tue, 20 May 2025 16:23:15 +0100	[thread overview]
Message-ID: <20250520152315.GB365796@horms.kernel.org> (raw)
In-Reply-To: <20250520-mctp-nlmsg-payload-v1-1-93dd0fed0548@codeconstruct.com.au>

On Tue, May 20, 2025 at 03:02:10PM +0800, Jeremy Kerr wrote:
> Jakub suggests:
> 
> > I have a different request :) Matt, once this ends up in net-next
> > (end of this week) could you refactor it to use nlmsg_payload() ?
> > It doesn't exist in net but this is exactly why it was added.
> 
> This refactors the additions to both mctp_dump_addrinfo(), and
> mctp_rtm_getneigh() - two cases where we're calling nlh_data() on an
> an incoming netlink message, without a prior nlmsg_parse().
> 
> Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
> ---
>  net/mctp/device.c | 4 ++--
>  net/mctp/neigh.c  | 5 ++++-
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/net/mctp/device.c b/net/mctp/device.c
> index 7c0dcf3df3196207af6e1a1c002f388265c49fa1..4d404edd7446e187dd3aa18ee2086c4e2e3da3ee 100644
> --- a/net/mctp/device.c
> +++ b/net/mctp/device.c
> @@ -120,8 +120,8 @@ static int mctp_dump_addrinfo(struct sk_buff *skb, struct netlink_callback *cb)
>  	int ifindex = 0, rc;
>  
>  	/* Filter by ifindex if a header is provided */
> -	if (cb->nlh->nlmsg_len >= nlmsg_msg_size(sizeof(*hdr))) {
> -		hdr = nlmsg_data(cb->nlh);
> +	hdr = nlmsg_payload(cb->nlh, sizeof(*hdr));
> +	if (hdr) {
>  		ifindex = hdr->ifa_index;
>  	} else {
>  		if (cb->strict_check) {

Hi Jeremy,

This looks like a refactor, as per the commit message.
All good.

> diff --git a/net/mctp/neigh.c b/net/mctp/neigh.c
> index 590f642413e4ef113a1a9fa96cb548b98cb55621..05b899f22d902b275ca1e300542a8d546d59ea15 100644
> --- a/net/mctp/neigh.c
> +++ b/net/mctp/neigh.c
> @@ -250,7 +250,10 @@ static int mctp_rtm_getneigh(struct sk_buff *skb, struct netlink_callback *cb)
>  		int idx;
>  	} *cbctx = (void *)cb->ctx;
>  
> -	ndmsg = nlmsg_data(cb->nlh);
> +	ndmsg = nlmsg_payload(cb->nlh, sizeof(*ndmsg));
> +	if (!ndmsg)
> +		return -EINVAL;
> +

But is this one a bug fix?

>  	req_ifindex = ndmsg->ndm_ifindex;
>  
>  	idx = 0;
> 
> ---
> base-commit: f685204c57e87d2a88b159c7525426d70ee745c9
> change-id: 20250520-mctp-nlmsg-payload-0711973470bf
> 
> Best regards,
> -- 
> Jeremy Kerr <jk@codeconstruct.com.au>
> 

  reply	other threads:[~2025-05-20 15:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-20  7:02 [PATCH net-next] net: mctp: use nlmsg_payload() for netlink message data extraction Jeremy Kerr
2025-05-20 15:23 ` Simon Horman [this message]
2025-05-21  2:05   ` Jeremy Kerr
2025-05-21  9:01     ` Simon Horman
2025-05-21  9:36       ` Jeremy Kerr

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=20250520152315.GB365796@horms.kernel.org \
    --to=horms@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=jk@codeconstruct.com.au \
    --cc=kuba@kernel.org \
    --cc=matt@codeconstruct.com.au \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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.