Skip to content

Commit

Permalink
can: gw: Properly fill the netlink header when responding to RTM_GETR…
Browse files Browse the repository at this point in the history
…OUTE

 - set message type to RTM_NEWROUTE
 - relate to original request by inheriting the sequence and port number.
 - set NLM_F_MULTI because it's a dump and more messages will follow

Signed-off-by: Thomas Graf <[email protected]>
Tested-by: Oliver Hartkopp <[email protected]>
Acked-by: Oliver Hartkopp <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
  • Loading branch information
tgraf authored and marckleinebudde committed Jul 10, 2012
1 parent 732d35f commit 1da0faa
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions net/can/gw.c
Original file line number Diff line number Diff line change
Expand Up @@ -444,11 +444,14 @@ static int cgw_notifier(struct notifier_block *nb,
return NOTIFY_DONE;
}

static int cgw_put_job(struct sk_buff *skb, struct cgw_job *gwj)
static int cgw_put_job(struct sk_buff *skb, struct cgw_job *gwj, int type,
u32 pid, u32 seq, int flags)
{
struct cgw_frame_mod mb;
struct rtcanmsg *rtcan;
struct nlmsghdr *nlh = nlmsg_put(skb, 0, 0, 0, sizeof(*rtcan), 0);
struct nlmsghdr *nlh;

nlh = nlmsg_put(skb, pid, seq, type, sizeof(*rtcan), flags);
if (!nlh)
return -EMSGSIZE;

Expand Down Expand Up @@ -546,7 +549,8 @@ static int cgw_dump_jobs(struct sk_buff *skb, struct netlink_callback *cb)
if (idx < s_idx)
goto cont;

if (cgw_put_job(skb, gwj) < 0)
if (cgw_put_job(skb, gwj, RTM_NEWROUTE, NETLINK_CB(cb->skb).pid,
cb->nlh->nlmsg_seq, NLM_F_MULTI) < 0)
break;
cont:
idx++;
Expand Down

0 comments on commit 1da0faa

Please sign in to comment.