Message ID | 47a478da0b6095b76e3cbe7a75cbd25d9da1df9a.1637773872.git.lucien.xin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 0c51dffcc8a2821cb18ef6fdf5b02ea891b850c4 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] tipc: delete the unlikely branch in tipc_aead_encrypt | expand |
Hello: This patch was applied to netdev/net-next.git (master) by Jakub Kicinski <kuba@kernel.org>: On Wed, 24 Nov 2021 12:11:12 -0500 you wrote: > When a skb comes to tipc_aead_encrypt(), it's always linear. The > unlikely check 'skb_cloned(skb) && tailen <= skb_tailroom(skb)' > can completely be taken care of in skb_cow_data() by the code > in branch "if (!skb_has_frag_list())". > > Also, remove the 'TODO:' annotation, as the pages in skbs are not > writable, see more on commit 3cf4375a0904 ("tipc: do not write > skb_shinfo frags when doing decrytion"). > > [...] Here is the summary with links: - [net-next] tipc: delete the unlikely branch in tipc_aead_encrypt https://git.kernel.org/netdev/net-next/c/0c51dffcc8a2 You are awesome, thank you!
diff --git a/net/tipc/crypto.c b/net/tipc/crypto.c index b4d9419a015b..81116312b753 100644 --- a/net/tipc/crypto.c +++ b/net/tipc/crypto.c @@ -761,21 +761,10 @@ static int tipc_aead_encrypt(struct tipc_aead *aead, struct sk_buff *skb, skb_tailroom(skb), tailen); } - if (unlikely(!skb_cloned(skb) && tailen <= skb_tailroom(skb))) { - nsg = 1; - trailer = skb; - } else { - /* TODO: We could avoid skb_cow_data() if skb has no frag_list - * e.g. by skb_fill_page_desc() to add another page to the skb - * with the wanted tailen... However, page skbs look not often, - * so take it easy now! - * Cloned skbs e.g. from link_xmit() seems no choice though :( - */ - nsg = skb_cow_data(skb, tailen, &trailer); - if (unlikely(nsg < 0)) { - pr_err("TX: skb_cow_data() returned %d\n", nsg); - return nsg; - } + nsg = skb_cow_data(skb, tailen, &trailer); + if (unlikely(nsg < 0)) { + pr_err("TX: skb_cow_data() returned %d\n", nsg); + return nsg; } pskb_put(skb, trailer, tailen);