RE: [PATCH net-next] tipc: Return the correct errno code

From: Hoang Huu Le
Date: Mon Aug 02 2021 - 04:02:59 EST


Hi Zheng,

The patch was being merged by accident. Will have you planning to revert it?
We need to do ASAP since calling path tipc_node_xmit() -> tipc_link_xmit() broken as side effect.

Thanks,
hoang
> -----Original Message-----
> From: zhengyongjun <zhengyongjun3@xxxxxxxxxx>
> Sent: Friday, June 4, 2021 8:35 AM
> To: jmaloy@xxxxxxxxxx; ying.xue@xxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; kuba@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; tipc-
> discussion@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: 答复: [PATCH net-next] tipc: Return the correct errno code
>
> Sorry, this patch is wrong, please ignore it, thanks :)
>
> -----邮件原件-----
> 发件人: zhengyongjun
> 发送时间: 2021年6月4日 9:47
> 收件人: jmaloy@xxxxxxxxxx; ying.xue@xxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; kuba@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; tipc-
> discussion@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> 抄送: zhengyongjun <zhengyongjun3@xxxxxxxxxx>
> 主题: [PATCH net-next] tipc: Return the correct errno code
>
> When kalloc or kmemdup failed, should return ENOMEM rather than ENOBUF.
>
> Signed-off-by: Zheng Yongjun <zhengyongjun3@xxxxxxxxxx>
> ---
> net/tipc/link.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/tipc/link.c b/net/tipc/link.c index c44b4bfaaee6..5b6181277cc5 100644
> --- a/net/tipc/link.c
> +++ b/net/tipc/link.c
> @@ -912,7 +912,7 @@ static int link_schedule_user(struct tipc_link *l, struct tipc_msg *hdr)
> skb = tipc_msg_create(SOCK_WAKEUP, 0, INT_H_SIZE, 0,
> dnode, l->addr, dport, 0, 0);
> if (!skb)
> - return -ENOBUFS;
> + return -ENOMEM;
> msg_set_dest_droppable(buf_msg(skb), true);
> TIPC_SKB_CB(skb)->chain_imp = msg_importance(hdr);
> skb_queue_tail(&l->wakeupq, skb);
> @@ -1030,7 +1030,7 @@ void tipc_link_reset(struct tipc_link *l)
> *
> * Consumes the buffer chain.
> * Messages at TIPC_SYSTEM_IMPORTANCE are always accepted
> - * Return: 0 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS
> + * Return: 0 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS or
> + -ENOMEM
> */
> int tipc_link_xmit(struct tipc_link *l, struct sk_buff_head *list,
> struct sk_buff_head *xmitq)
> @@ -1088,7 +1088,7 @@ int tipc_link_xmit(struct tipc_link *l, struct sk_buff_head *list,
> if (!_skb) {
> kfree_skb(skb);
> __skb_queue_purge(list);
> - return -ENOBUFS;
> + return -ENOMEM;
> }
> __skb_queue_tail(transmq, skb);
> tipc_link_set_skb_retransmit_time(skb, l);
> --
> 2.25.1