From patchwork Wed Jun 14 18:37:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Watson X-Patchwork-Id: 9787237 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1063A602C9 for ; Wed, 14 Jun 2017 18:37:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 051DC26785 for ; Wed, 14 Jun 2017 18:37:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ED8452851F; Wed, 14 Jun 2017 18:37:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C63726785 for ; Wed, 14 Jun 2017 18:37:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752003AbdFNShu (ORCPT ); Wed, 14 Jun 2017 14:37:50 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:48651 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751735AbdFNShq (ORCPT ); Wed, 14 Jun 2017 14:37:46 -0400 Received: from pps.filterd (m0044010.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v5EIYp28000329; Wed, 14 Jun 2017 11:37:36 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=facebook; bh=QhglbxCAfICgWMELBwcJRddPzXKje4lBVTp/O1p/SCw=; b=DWujMb5lIGWlTmQhol5tB1BB/7Cqm4aONpJbJQ8KgoSsMHmVfwhsA3ffeM78bHp+mb2x 1NXbuywJFO66t62QFRqQp8AXSb60aABv2PpfrwcwayxW/wH8iEbr/LHryktfh2/IAelx XHMn5gm0PuUBw5ed2xBnHuKMbTmE8EM5BUM= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2b37rcrrmp-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 14 Jun 2017 11:37:36 -0700 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.19) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 14 Jun 2017 11:37:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=QhglbxCAfICgWMELBwcJRddPzXKje4lBVTp/O1p/SCw=; b=dT9ZPnjXReXTMiozhEVByVozKFPyKY0o7E4FybNDsOHPKpUET90MtOOJT7DNJY4YUkFlfuL+nXmWRVcfhT+Nf/y3YjICESyBgP1qyaiBZNY1I4gZF33TYq1snBzzM8k6xK/xxQwLXjxJ+WenqvIhpetql5VlgyjRAWTGJupK1+M= Authentication-Results: mellanox.com; dkim=none (message not signed) header.d=none; mellanox.com; dmarc=none action=none header.from=fb.com; Received: from localhost (2620:10d:c090:180::1:fa02) by MWHPR15MB1760.namprd15.prod.outlook.com (10.174.255.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Wed, 14 Jun 2017 18:37:31 +0000 Date: Wed, 14 Jun 2017 11:37:26 -0700 From: Dave Watson To: Ilya Lesokhin , Aviad Yehezkel , Boris Pismenny , Liran Liss , Matan Barak , David Miller , , Tom Herbert , , , Hannes Frederic Sowa , Eric Dumazet CC: Alexei Starovoitov , , Subject: [PATCH v3 net-next 2/4] tcp: export do_tcp_sendpages and tcp_rate_check_app_limited functions Message-ID: <20170614183726.GA80346@davejwatson-mba.dhcp.thefacebook.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) X-Originating-IP: [2620:10d:c090:180::1:fa02] X-ClientProxiedBy: BN6PR13CA0006.namprd13.prod.outlook.com (10.175.123.16) To MWHPR15MB1760.namprd15.prod.outlook.com (10.174.255.13) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR15MB1760: X-MS-Office365-Filtering-Correlation-Id: 77560761-b817-45e7-c488-08d4b3546b34 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:MWHPR15MB1760; X-Microsoft-Exchange-Diagnostics: 1; MWHPR15MB1760; 3:PfWMwU6WtkR3kQ0O56r0rSXtYVUtIW0Cjj7Zu0qGI/PtRPIlFnMXy3RIue9NrtVOnGRHkLJZnYf8bE4honbp/dtCdu5J7omTQFyblY6/fLG/y3a+w/Z6e5bO/iq1szVUXtTLbazh0SzbALkFnDyYBjYqJqTX4DMEQBbv1rgpnf0R27VsFW7e91wLKr672RD3l0cS64VlF0DnjE/SlF63NgoCBhDibK3MjTtB0EkCrDJZKi9Rk/mJYIUwb0hCkWwpGFKqmUCDK295PlKVFIqYUdMzswiZ/RiX+Cnp1ZRdCPRNHM9eRYRdD1PvVa3/Jlh9fRaAE3oYlVAkPAztH3qfiw==; 25:C/QMK5/aSk+ofdxlu0e+5KnK1EMdLTWqdZ8mNywsXkr5LyNn7EPb1m68I3XVk6CTa9hnQ5558WhfJmvmREPtAPUAcj+bQTdlmHjIeoHLbcB8Sk2wSqk8E+ESrJdfkWmY87PvBYK8T1VKdor2bsYtpHFnxDRQDiBZOWV5PGTb3KgCt142kb5aBFG22zSXZY2EgBratCTacgLL72r5NJ4ZkIZrsoOlrMHEK/cafqrv6nSqS7lpnIgyd+nhPgccRwYP4jexzFQWntYoHvs2tn9nWchXST2WzuxHewCkCfY6dZqsUBS+kbQrT1NG3VB7FJj3ibr4Betu4fZ00h+n1xpKwj8CxD70i/iXTm4JWpEle/mCTlWfNL9BFX2emAT2t9CE9kIzL01fVZCJ6pIE7uj9q/ik0FniQxUwXaxD9QRxSVXZ1S1YCoe/O8vsUMLePkWR/jICdDN7chPGnbXBbKfCeIf9wBwznQoQYA9LTJSrtOw= X-Microsoft-Exchange-Diagnostics: 1; MWHPR15MB1760; 31:ODsKzSuN+rpGfC8NN87ImSBm3QWByUWChy6MeSlAgbabnKbpB7lfnkJQfbomemPLSADK6Sz6V46HtdnS/DEZno4EJDnCDpXACR6gp3vOBFngitw1YEEog2t415lPnqpWXKNEQ1+RXI0Jvv5pqUGHAU2fgsXXdDP1XiyR34z9kefIB6A91HzvkoMp5l6EgZ9lkA2z0Ai8CfDJPbdsh18wJBC4nlYMlAWFdF08dVDQkX+2UnRFmMh5AaaRFg5vcFfr; 20:W63sLTUG4l1doiCZmwA2XfioUTSnr/5SFPqSVXRMMiAGz/1ETK/hFenhSGO/O0uF8BDYzDeiIJTE2j0P04z3/I0WP19jnt8liUkx/j8i2ZH52UsLA/mv8gGw+wkHFIapL/np6MmyNRP4uueqD8KdjDe7lH5g0QYA0twTi/aGCZ+5GB9jLdYyVXVc9Kd1//ciqzPKjBQWNY7ycjLMJ4PI2PDgaBg1xHhF+REFrj+ogHSSSNRrr61bOZYGzFL4EBTd4M/ywO39TlGHHYW7xuB7vnWW5nCPVf595vVNGRzEEWUHk2qwjJdxPNexy09zLhzY3zKdCmrIfPajoq8dWeW1SOSbUgnTZMQDXtSQrnEcLSZbpw5pmW1gjzvcE6xbHVqD/7xQIOfoQVDygxv8vQSu/YAlSuG2zjZrqjKejSoH4zScaBL3YYhkuuOIE4altLQfaDfpozKiKjA65OlcJHUDeJpwYOTXJeJpKS9OIkQTS2YiHXZzWMPWJPUwe6fg+WgA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(67672495146484)(266576461109395); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR15MB1760; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR15MB1760; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR15MB1760; 4:Uef0jNSamjiFy9t9k5k3pZ1awdjXIOONtEhQSK+CQF?= =?us-ascii?Q?3gs0H9+SAbUM+VBPfIt+Zkdpz0K0/BFkAeSROH6hciFyWXzU0Tr7/4yJ+K6/?= =?us-ascii?Q?hgvenRyDaE0azY28/ZQWcOVCiVJErMYDqTbZnFOPYXrMs+zJJbRyAzJAyniu?= =?us-ascii?Q?zZC5qoiv4Zii4cLmon2/QXFfLKH8Y4HB1xRwayZJMxJ+8LrTJk4At2Wx2K3p?= =?us-ascii?Q?gl0c+qWWcAY5ZOQ5JZ6EKuNLmE+ILyYRb2abw495yfFwOJgFGCSH88evptyA?= =?us-ascii?Q?HJ0qLIIridE85tnqfiRX3I25fep078aAambmLQhJXAA6b1z6pKq5nqrLc+jO?= =?us-ascii?Q?TaG7ynnhGVk5wLkPXusSLsEREBj+rQDlBO/Obyf7nxJl14dFmWbId+w7kFJP?= =?us-ascii?Q?8ur3BWaM2bKhk+SxcWBQucWJZ55U9Frsq0a3EY0TJddI2GYoYVX3/pcUYRXm?= =?us-ascii?Q?ELKxSb1vZsW19R5oxI9ZhIBo8kq7ndVEiCuwWDu1740V11B+tSPEAgc038nU?= =?us-ascii?Q?yw4myS/me8S2psPWLv9h86xrgsBXIZCdMBxu31+nMS+WI8ZLrcDwzWk/gkqz?= =?us-ascii?Q?KlU9LsvVa7fjwwCxKLuclv8GrtS1+hR4aQNoHHeOy5MJprTKFYU7uafCqoO1?= =?us-ascii?Q?9MD5ayl3YAXCi98feQzwM4m51br7zSIYNXxD7W2eNlhfceeMj+uBBUiFDGT5?= =?us-ascii?Q?QntthzwdKkJUGZLnN/Zb9LHCntZzH8jtWriHO6sjzKnk5v9d9cAIJkRGbMhZ?= =?us-ascii?Q?+26Jb946a8NjytKfcLif8mQ8R6bKZ6pkeocf6nmgbT5LeEzmopwpA3NfjXp7?= =?us-ascii?Q?mV232E9MTvlHFBbLr41b6w+m9bUnSnXkIqw2jvqMhe63CuY87XNCmxhLy1W1?= =?us-ascii?Q?RIWNBbwQHs8dSmEVSMFEyoTvSXg/HTizKuavf6nczO+J0hJwmwzi8rN9C1RM?= =?us-ascii?Q?Zc3jhkTYtESZKkubb0sQTcFMBYtV2FBajElSqOc/qdeSkox1soiDEyJ4Vd35?= =?us-ascii?Q?Nl5mRmm8wn1N+/oMGgW7/ZhGYczb8ut9UL6wXEtaW3QXcH7wENG1nSCfpzxl?= =?us-ascii?Q?PrgJjY7W/7R7/EYn14ysmWsxv8b5sRpB07g8k3UNlpcxmxLZVGJpC9+FdARQ?= =?us-ascii?Q?LIAuUhlVGsrrEPqVvxCdm/IPShFhxPG6D/YndNYOklaqO+K256XGxcUHO90H?= =?us-ascii?Q?G8BagkyGhNeqy+1uz3Xuu65B4ccK56JYcrb3aRWCM7eOJ+ZpqoH2B8ew=3D?= =?us-ascii?Q?=3D?= X-Forefront-PRVS: 033857D0BD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(6069001)(39410400002)(39850400002)(39400400002)(39450400003)(39840400002)(38730400002)(81166006)(76506005)(33656002)(25786009)(8676002)(50986999)(4001350100001)(50466002)(4326008)(76176999)(54356999)(47776003)(53936002)(5660300001)(305945005)(7416002)(6116002)(2906002)(6666003)(23726003)(478600001)(7736002)(83506001)(1076002)(86362001)(6486002)(6496005)(2950100002)(189998001)(9686003)(42186005)(18370500001)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR15MB1760; H:localhost; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR15MB1760; 23:+0txIyWowS/sSCaFqGNTNCMK+T5cjKFrtF99f54O8?= =?us-ascii?Q?yqPvmzSWSlVWhawPZZ/f0Yu0msiG00uWolzgUntzk/6nvYuw4lB0IGiI0fX0?= =?us-ascii?Q?BawDvMo5O3iTJSNV+xGk/xpzThuHqfsSR3a/eiFm3XQc/F5PW/R/2piSpm66?= =?us-ascii?Q?AYoUuSVb5T5dIO5ZOooeWoIiuxNBKDyBZzT8AEhPcB2627e7Zhgw1kDM8+3F?= =?us-ascii?Q?adwKf7muhtfykZjwIBbSLlgl6gzURLMa0k4VtI2nZXDkyFKIAs2h0zLPUERI?= =?us-ascii?Q?MsV1ZO9mX2hkhWDA1VtpQCr9xxHIgdVCz54HZ7VYpqX3PVDKISeAvaJghM1z?= =?us-ascii?Q?W9CoVGwpE/lXrWarjHhHOPwl3fXoGAxm0/ts/RvrK5iaMRerYSm9zsKymrY/?= =?us-ascii?Q?BdVLVMdKrQvSx7PuNB0AeKJXDbtuIFxfyBgbhREXRhup6CW17n2RJ/j8RP9R?= =?us-ascii?Q?1kpoQVf9fNX0lXyLRgLj7DAylxjh+L8nf9ex3Ap07JlrltIEWRagSM642hZe?= =?us-ascii?Q?gHUazl/g8f7Svn+o5ptL2YzX/FEnOUJg4gsA+Wd31T+/AgZJDrne7kTuDMLW?= =?us-ascii?Q?P0jIJdXbnxdVO0UpS8b8PV7aBrCuQ6ZjGUQ/oqzXaQwtqadpdxTjTwUSyYAO?= =?us-ascii?Q?X/g+YH22wr2vbHTQQz0LZPymbH77oukUyNjXVN/e8Zf9NPDFPi6Xv4qrQLGB?= =?us-ascii?Q?zF4r/hY42fUfR+oTRiYrjEd3aE2pIbogL6fuFztXvs0YFUA0RF+IrhOlvgoq?= =?us-ascii?Q?HmVcb5GzjP6Od+k1xyP0QuBYwzrjfRQz6SCqfcywlRGStScPcDDyTjMc6ULj?= =?us-ascii?Q?ErjgXidyIz2P2ltmPVU5oMwDhFr+Qm+f6779xxP+skihBtUbHkv9gU1Xq1lr?= =?us-ascii?Q?3B+La71iu+zXn4M3gfbxQmSHGpC8pfNJoPxGT6lyt6y+KYxaRrMz9cq1Fkok?= =?us-ascii?Q?wE0+04MCWrTpk95ui7hG0LNmBJgPbMJr/n615uvGprOZN7cZ32AkJ7nNHMCO?= =?us-ascii?Q?7iCj6o3xN6p6f96mW8ZJROuUEhDEEfVuN+beSMpFwQMO5tshq6v537UvFKeR?= =?us-ascii?Q?LMp5e4PzqCpaO9AZWm+4EN+PfUP?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR15MB1760; 6:CK4pdhGQa0uSfbkcD9hcgVbNZgKDFsZIrUUqOabWLdt0OLHcMTPgczgl1/iZqcBbxqGnf9oyP1wflX3QMgvKxmIItuXgW3fgM4o4avGK1NAqFzqHa0lM/dcX3fvWBd4+9pSdk1F+rdZcEaMimmLq2R+I6US+ASzIxdr7XtYv0xcofEtkoKXEO8jMXQUhhU6Z2yEFn9jrZeaO155+dHpimfeDH/j1Nky1e+3DvXUnjeFXdUW1OdPRXNwNE0TOYgopr/Ry21wg3E/jmV3DW4aPqIJFhNXIEyE5bLP1ihw1RemtkZQU1NLcpzPpP0p5hXEDyol2my4qr9JQ/+whfXLso65jm2Y913Ux2TsxquJolQwUZdCzlP8oxHEy52aGjneWqPQiUOySCVaYuFEYQzlE3VUUWrEahGDOgReIGcTfDrwDYz0rHp3Fx+D4T4cqcOb7LrwiKlcv5sNSg7+w15PghUX9tIGoii33d9Bf8pemcOtbcyfbZlR+931Wz13EQG9RudC76Ou+aE2/Z0LYUac8pg== X-Microsoft-Exchange-Diagnostics: 1; MWHPR15MB1760; 5:TW/zgHi/vQClPgokd4pIUJehAVsbnEAbpJzECn880l321OQ+kLs3zrooZ4TUsEnM3iNk5I7YXjd/zUEdaQ1HaP+jHYy8zh+kXl8gqrbEXsk/1BsBw/gS/zfwC9k66E2QjPjKHaa/iqi0cWfKsRW8NmyLY3t09bc5pc5SZ6SGNkXeXBN6Eeu9QcRcTDgU5tIK+enImIcgjwQ8lPmhWc0v+dRZxEK97YvY5oZ9ezFAtOdiW5TR4N9B4tx0gkygTJRhY4s9GTVtzCnnjcSMcNon151v+hwtBCnYtInrlm+Au876mUcw/8WTR15+qBIy6b1MgKlxfMTKMX8T4vErXMobTp3hsku+VITIdrUK76Re9xbgUA8N3WYlqDDqBdVmb4M85QgSSr740C29EsxQfkf6M6ho8rB3PLQ8NSKbTvkssQhqOqAaNnnBKFMweXVzFGw9vOHnTUSNRqDwt9QvDDEAj9daqqMEjYcSHYbQqgX6H9NJnm0hiCVwFcst4USbJwvV; 24:I4Vnt6a8RNkQjaICY+KJ4WhW6JuAYeWRuQ7fd+qPAR+siK+xw5BjM4/8hRI5tffBLl/1+lbi6vLOk71PsuzTY/9B7BQOE7QLv7EKrkZEHHE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR15MB1760; 7:2XGkdgoYF5sPO/40Jqzjdr5vG3JHtgylVGIYWKuoH+gsGoxilXN4dEF/LM0EYZ7PLltx815WTrQR5GesiW3AIugYqbdqLE6iRT9yf9zddFqrgK5Q2V6Y2xT1OXE6MJyhrXbB2aP9bMX3o4z5kjgxsFNnM+FEroqqgPXbysJZ+BlQdjEUnibYFbf/XQj6XLX772ZB5dTG5ozw2siRPTqSWqaxMp8k/C1cYCkDZxHyN395wUEU60/G8EhxK4sCTIh9CLruBNo6sU/2P7Gn/ERVdxdDEp/AeGh6/2rAwPYvyjaSlaOU2qfVsRGlSACMY3HibTyTH1i7mdbzQU4I7DRvZg==; 20:QVn/uZQpMccTDNKKfBKR4a29r+UeBDXfRLIshjwhtn4QWQgk1Xb8UC4H0hNDwhwX2ymMFB3j61yyDiTdowZuy1+V0wRgHptABMsvex8m4HNvhLxxEXqRkmd8vi4lXixjSBqWRy9hS1JXeSD9d9QiSwdGp/xK6wXvQpJJjYu6a6g= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2017 18:37:31.8796 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1760 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-14_05:, , signatures=0 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Export do_tcp_sendpages and tcp_rate_check_app_limited, since tls will need to sendpages while the socket is already locked. tcp_sendpage is exported, but requires the socket lock to not be held already. Signed-off-by: Aviad Yehezkel Signed-off-by: Ilya Lesokhin Signed-off-by: Boris Pismenny Signed-off-by: Dave Watson --- include/net/tcp.h | 2 ++ net/ipv4/tcp.c | 5 +++-- net/ipv4/tcp_rate.c | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index b439f46..e17ec28 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -350,6 +350,8 @@ int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw); int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size); int tcp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, int flags); +ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, + size_t size, int flags); void tcp_release_cb(struct sock *sk); void tcp_wfree(struct sk_buff *skb); void tcp_write_timer_handler(struct sock *sk); diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b06ee30..11e4ee2 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -901,8 +901,8 @@ static int tcp_send_mss(struct sock *sk, int *size_goal, int flags) return mss_now; } -static ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, - size_t size, int flags) +ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, + size_t size, int flags) { struct tcp_sock *tp = tcp_sk(sk); int mss_now, size_goal; @@ -1032,6 +1032,7 @@ static ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, } return sk_stream_error(sk, flags, err); } +EXPORT_SYMBOL_GPL(do_tcp_sendpages); int tcp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, int flags) diff --git a/net/ipv4/tcp_rate.c b/net/ipv4/tcp_rate.c index ad99569..3330a37 100644 --- a/net/ipv4/tcp_rate.c +++ b/net/ipv4/tcp_rate.c @@ -185,3 +185,4 @@ void tcp_rate_check_app_limited(struct sock *sk) tp->app_limited = (tp->delivered + tcp_packets_in_flight(tp)) ? : 1; } +EXPORT_SYMBOL_GPL(tcp_rate_check_app_limited);