{"id":807035,"url":"http://patchwork.ozlabs.org/api/patches/807035/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/1504002694-1931-4-git-send-email-steffen.klassert@secunet.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504002694-1931-4-git-send-email-steffen.klassert@secunet.com>","list_archive_url":null,"date":"2017-08-29T10:31:30","name":"[3/7] esp: Fix skb tailroom calculation","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"81b802455a43bc048b231195a92fc276d979e665","submitter":{"id":1442,"url":"http://patchwork.ozlabs.org/api/people/1442/?format=json","name":"Steffen Klassert","email":"steffen.klassert@secunet.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1504002694-1931-4-git-send-email-steffen.klassert@secunet.com/mbox/","series":[{"id":343,"url":"http://patchwork.ozlabs.org/api/series/343/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=343","date":"2017-08-29T10:31:28","name":"[1/7] net: xfrm: don't double-hold dst when sk_policy in use.","version":1,"mbox":"http://patchwork.ozlabs.org/series/343/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/807035/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807035/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhQTJ5Vy7z9t3R\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 29 Aug 2017 20:52:50 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752328AbdH2KcG (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 29 Aug 2017 06:32:06 -0400","from a.mx.secunet.com ([62.96.220.36]:50672 \"EHLO a.mx.secunet.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1752030AbdH2Kbn (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tTue, 29 Aug 2017 06:31:43 -0400","from localhost (localhost [127.0.0.1])\n\tby a.mx.secunet.com (Postfix) with ESMTP id A92CD201A0;\n\tTue, 29 Aug 2017 12:31:42 +0200 (CEST)","from a.mx.secunet.com ([127.0.0.1])\n\tby localhost (a.mx.secunet.com [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id N7tJdYSoBAps; Tue, 29 Aug 2017 12:31:42 +0200 (CEST)","from mail-essen-01.secunet.de (mail-essen-01.secunet.de\n\t[10.53.40.204])\n\t(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby a.mx.secunet.com (Postfix) with ESMTPS id A7665201A7;\n\tTue, 29 Aug 2017 12:31:41 +0200 (CEST)","from gauss2.secunet.de (10.182.7.193) by mail-essen-01.secunet.de\n\t(10.53.40.204) with Microsoft SMTP Server id 14.3.361.1;\n\tTue, 29 Aug 2017 12:31:41 +0200","by gauss2.secunet.de (Postfix, from userid 1000) id 0A37C140588;\n\tTue, 29 Aug 2017 12:31:40 +0200 (CEST)"],"X-Virus-Scanned":"by secunet","From":"Steffen Klassert <steffen.klassert@secunet.com>","To":"David Miller <davem@davemloft.net>","CC":"Herbert Xu <herbert@gondor.apana.org.au>,\n\tSteffen Klassert <steffen.klassert@secunet.com>, <netdev@vger.kernel.org>","Subject":"[PATCH 3/7] esp: Fix skb tailroom calculation","Date":"Tue, 29 Aug 2017 12:31:30 +0200","Message-ID":"<1504002694-1931-4-git-send-email-steffen.klassert@secunet.com>","X-Mailer":"git-send-email 2.7.4","In-Reply-To":"<1504002694-1931-1-git-send-email-steffen.klassert@secunet.com>","References":"<1504002694-1931-1-git-send-email-steffen.klassert@secunet.com>","MIME-Version":"1.0","Content-Type":"text/plain","X-G-Data-MailSecurity-for-Exchange-State":"0","X-G-Data-MailSecurity-for-Exchange-Error":"0","X-G-Data-MailSecurity-for-Exchange-Sender":"23","X-G-Data-MailSecurity-for-Exchange-Server":"d65e63f7-5c15-413f-8f63-c0d707471c93","X-EXCLAIMER-MD-CONFIG":"2c86f778-e09b-4440-8b15-867914633a10","X-G-Data-MailSecurity-for-Exchange-Guid":"0FCEB268-87E7-4EAA-A1BA-5A39088156D6","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"We use skb_availroom to calculate the skb tailroom for the\nESP trailer. skb_availroom calculates the tailroom and\nsubtracts this value by reserved_tailroom. However\nreserved_tailroom is a union with the skb mark. This means\nthat we subtract the tailroom by the skb mark if set.\nFix this by using skb_tailroom instead.\n\nFixes: cac2661c53f3 (\"esp4: Avoid skb_cow_data whenever possible\")\nFixes: 03e2a30f6a27 (\"esp6: Avoid skb_cow_data whenever possible\")\nSigned-off-by: Steffen Klassert <steffen.klassert@secunet.com>\n---\n net/ipv4/esp4.c | 2 +-\n net/ipv6/esp6.c | 2 +-\n 2 files changed, 2 insertions(+), 2 deletions(-)","diff":"diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c\nindex a8ddb95..df68963 100644\n--- a/net/ipv4/esp4.c\n+++ b/net/ipv4/esp4.c\n@@ -258,7 +258,7 @@ int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *\n \t\tesp_output_udp_encap(x, skb, esp);\n \n \tif (!skb_cloned(skb)) {\n-\t\tif (tailen <= skb_availroom(skb)) {\n+\t\tif (tailen <= skb_tailroom(skb)) {\n \t\t\tnfrags = 1;\n \t\t\ttrailer = skb;\n \t\t\ttail = skb_tail_pointer(trailer);\ndiff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c\nindex 4e3fdc88..ab64f36 100644\n--- a/net/ipv6/esp6.c\n+++ b/net/ipv6/esp6.c\n@@ -226,7 +226,7 @@ int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info\n \tint tailen = esp->tailen;\n \n \tif (!skb_cloned(skb)) {\n-\t\tif (tailen <= skb_availroom(skb)) {\n+\t\tif (tailen <= skb_tailroom(skb)) {\n \t\t\tnfrags = 1;\n \t\t\ttrailer = skb;\n \t\t\ttail = skb_tail_pointer(trailer);\n","prefixes":["3/7"]}