From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757875AbdEMBpc (ORCPT ); Fri, 12 May 2017 21:45:32 -0400 Received: from mail-eopbgr10121.outbound.protection.outlook.com ([40.107.1.121]:11338 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750952AbdEMBp3 (ORCPT ); Fri, 12 May 2017 21:45:29 -0400 Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=virtuozzo.com; Date: Fri, 12 May 2017 18:45:09 -0700 From: Andrei Vagin To: Cyrill Gorcunov CC: Jann Horn , , kernel list , Linux API , Al Viro , , , Michael Kerrisk-manpages , , , Andy Lutomirski Subject: Re: [patch v4 resend 2/2] kcmp: Add KCMP_EPOLL_TFD mode to compare epoll target files Message-ID: <20170513014508.GA21900@outlook.office365.com> References: <20170424154423.511592110@gmail.com> <20170512225340.GD1881@uranus.lan> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Disposition: inline In-Reply-To: <20170512225340.GD1881@uranus.lan> User-Agent: Mutt/1.8.0 (2017-02-23) X-Originating-IP: [4.16.175.162] X-ClientProxiedBy: BN6PR03CA0021.namprd03.prod.outlook.com (10.168.230.159) To DB6PR0801MB1974.eurprd08.prod.outlook.com (10.168.85.147) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 21178607-6555-432b-68b3-08d499a1b8ce X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1974;3:6sVnrV+FCGqOJ53YmU4jD0MAREgWXrn7Im6CnswqE9N/NrLMUMNd4drkh5hBvnj7ScKZR9owdrBiYZw0n4nX4wSHHqUcMnCCjTkye3hdE2MkPzVkqPapuIxCuBJdcIkCwQNHmL7a/qr7AO0ULJmSd1yXvSctyXGTboYQ1TPO8lAX7ynMr851hnExc7gBNZa3QEECOWi16nAK/rzRP1OWOLU2lmYNjZcQG6C8AaYr1r/Sbap4gcYLadR7U/hdLSZtfpPtK5xhxRRCh6p36VEuUNSfQ1LSgge+HWF/K6aqKt8oPT/k9gVtcJ4pdxZ7TH8xtkOQCI8RBA4v9p7n+58Wqw==;25:VJI5FVxYfDGoic8sumBptgMECXDZ862hKzio1VJBlBdagVVXt6Aav7NOX14oGpjv9HU0HOsrce2YLteaR+iL/0C7SYBQjDkbyoTu3JWAaUCxBnx2nGykDwKSWhw9GCf6SueEQJ5piLBey4CRWKHxiqvYMYaFwtD2EBRBUEO/pubTtRPf+WQ83nwpXWVrHnBh/7xvGBhIg2GlT4nlMkcfUk2XzJQRMit0YUfGYwStLeku6pU8kFqIU6y+NdUliTNNBmKl8Hzq0nh61MjSBLiQ+NtJgsxCcbCJMBC78KTrETr+9ITI1URQTDTF+ZvRJeiqZAGdc5Ih+u1ptDXUQreLa0P9LASrLBlJ7NtJVq5P7bbI7GAg1RLAzTqdr5io+/xrgf3ujXRV/Jkp9mWlZ47u3yPVjNJA5WHxfjqTblXsEhHZk/C6s81WY8l4NLzlMtl1DB317dxMkd1BxitOYkyeLQNiNsU00Oh4/A2/tS7gvI0= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1974;31:wE5jb7mc065N/ZHcngt9GZ4mI9NOFQ9Dh2xBO5ApViBa8emrqh+D07y+NpaXSHVQcnl8fGGosNLBsV3njmibDpbqUgMq3oMfbJnI25DfPiZ+4qwa0Xgxz507irZyuBq7VRpUJgFQRRFp/5YwZ6fHb6b/F+sw1HnNpz8QH46FT/rXla+6KsaE2QEk1tv9LeRo3vbWl8BrhugFilcdP1ckkcQ35hqNL+CevoSeZ5PapSc=;20:LCyZUTLNEsvcYzUaWgDv0LT8B7r6xeGf7RkaM8Wjd5KxLBjvuizBEinhyAOnzMto76+PMrriqqDS77tUuBrjXCqbJdgCg7t+HYPLUJFJuK3u+MhLc0WVDdcykvX4DTxAlj9OI10xhRq+0d4JCbUz3afKXEEOskDMyeyFJ7LRbYZOodMeAZEjtVxqSH1zgnDFfelaCrYiDlx7qxIZQjuVk4JuR4nudhovHcBQYPfl6QMG+IZv1bfxym1unfR5Msol4FM7lXfIjeEOdRWNz1TmjFtrWQWs2FOaqrXlf73ddxAEqqqzgvgA7CXom6TyyXV4Vkf0tCDHTMyghOOKp4sVn+r2+/OFL0fybEurPDzmjgw7zoQI1vJoAf0rMjMRnrpewr3/niK+alhN0m6Is0MR0rWby9b5uUePDydMt/PA23A= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123555025)(6072148);SRVR:DB6PR0801MB1974;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1974;4:WrjCkTYnWpJvZCBt/sMTedaKn6KhKDREUDXWzu0GT9JyefSxQRH7cMRti6UdNdi9vBoDL4UFCrUZYfwt4QMLnQl5Kmg2Hcdw306i+6PhEq+hdPnerdLcNWTXsKTPHEzFcW8Df54oEnfj3yvMdLRILDn1ezLuhEeRTyGdrFvLdciaZzwMLaGyt0OV9Ah6ePcQNaKa9Zqhcze92ABY8tsWcNwdNn63wBX3deew2oD4zp2tOlKmN0AELKMe319JXkm62NBfzx8Fh+DGT5h7gvAtfV1gMKuM/ddt1s0ELi6XukvPUaDzNgmCbNGI4VJdWq3tXA1WzqMJ79JZVK4jZCOrlqJ4r0BYXAvhXxWmYtUOqmzxAoXelSJN/EWPGsi+F8ul51E6bcqpFqUdBTdg4YedFia4rRGrEuK2mOPCf3KpX0bHbrMn/W3rOuWNhTMHoP/5gkGItKLkg3r3L9PUKBUPDSowF3giziLyC4+KaLTHUwQxcr7/bS4m1fK+V+mQjJxRbSJ0GlYHjHdnxWf1ony8G1kZVvjsVMO8He+AqyY0Mpp0Vs67/2AFz+nB2GDw2zZ6pvtONNWm8yHDPYWuyfHrsd9GBlVmn9olEvDTG8xN7+m8SD8JU8prLLOVE/gv6kIClanU747t3+doChOZghAHd+rt3yHerLH9PJ5lqgSpSTnPPi94y4rNo3JWlB6cu0rgHt6Y1441dMo9JK4g3FdYbPE+ejkPvdew3ryOqxHkLtZaVve3mmvrQSy6qOiHVOa2fiZdZDuUGm0uajDnzeKt7EroCv/4nCsujmp11G0NDnE= X-Forefront-PRVS: 0306EE2ED4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39830400002)(39450400003)(39410400002)(39400400002)(24454002)(1411001)(9686003)(4001350100001)(6116002)(25786009)(3846002)(55016002)(97736004)(6666003)(4326008)(47776003)(2906002)(86362001)(37156001)(478600001)(50986999)(66066001)(1076002)(33656002)(83506001)(23686003)(5660300001)(6506006)(7416002)(189998001)(42186005)(81166006)(6916009)(2950100002)(8676002)(54356999)(76176999)(229853002)(7736002)(110136004)(38730400002)(50466002)(6246003)(305945005)(53936002)(53416004)(54906002)(18370500001)(26326002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1974;H:outlook.office365.com;FPR:;SPF:None;MLV:nov;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?koi8-r?Q?1;DB6PR0801MB1974;23:8JEJLbyseRw69uwBS1X/ESvJFnEBeEA7upusTJmdb?= =?koi8-r?Q?Ne9A9/R0TOgkIuTSTotv3O86mxXveKb73Y63bjplL+UPX+bIVK+RunJAHGiil6?= =?koi8-r?Q?zKC23vm/Wt2r7iWDN7SFPnKRbtOv9l/zM3Z8JfJtI6xhg5EwduMxVre1iwGCma?= =?koi8-r?Q?Ndiswp6eqIk61FhLgzAeG6zh3ZUrY94pYInOyg2akIfEnCx6mHj7x38JiKfWkO?= =?koi8-r?Q?3tqYV5fw1CFK7v2cIfI4HXr2f2vBj3MXOwERw5KgoOHNO07No8Y8dyNmuzuFQx?= =?koi8-r?Q?HdHyNPcj+FkAs62J0BrRSJ12ufu2bQ2LPgTUgnHzchCokEM8t0GDjwpzJ9HssS?= =?koi8-r?Q?fmqzcoP1FXbZhBAc59SEKDQTt/fMfWNXUMTyxNm43KGZ3isNEt4Rwa5upKJp2t?= =?koi8-r?Q?9je0YDrD5mCVWEdxj927KHR9nYyG+jVssoqUoEgxVmrJZslln3w3P/SjCIx2aP?= =?koi8-r?Q?DX7K9VSP4uxLchmn4SdTBua1GLPJ7/SORhUl2ALZ0tGCauI4izYfNH0Od+JrB0?= =?koi8-r?Q?ELc5vX3d9OqEWLvXLJu8go5FmxGZfwaMb10hC1QNJNEc1UMFdqpGMcc21UCwf6?= =?koi8-r?Q?AgpoJNEICv8r/Mu9JxjZPQiQl0IGvSg1Z1wWIbt0tAafdGA7zjJVT+zc48Susq?= =?koi8-r?Q?EgEaQp9UfGun56r8Qcev64BR/iA3ru4Dg3//+GaTFC9dSob/vSQAwGlLuyE6AZ?= =?koi8-r?Q?kUTtN6GKsD+BzqK/adHAR87UiJoYNLc+24rQJMMm4YJudhtrBgU5IQ7WTP3j69?= =?koi8-r?Q?Mwc0WrTsRLxdebl5802JF20FJDkgWErftWDrs9B5qM2hSHTD6bpbi4q2QjeaPk?= =?koi8-r?Q?QJGE3Ox+KdXcwzxNJXvWayxgozYBOtc3TPVyaoQ7jCH4QzGDPQKYLC8mAFFPur?= =?koi8-r?Q?AMSIdBqAmdYFEdiyPVi0iwpm6XI7AqbmiYKYCNBnuv9lMoTwMmwGnz5LK0mgXn?= =?koi8-r?Q?Gp4t8lsXaekqnFLuL7M+Ugd3yP5iH7M+qPQC95VSPEPECVTft/Duu+LUoqbSLd?= =?koi8-r?Q?acOXWvr92BgHLsf2ZQhFdghDYmhZft3jKtevPUPXgpYa92LatFfk8h33XYKrWA?= =?koi8-r?Q?G5+tZbtcF9jbtKUox/5lwbsnkeItiM3w2BHS4yEtT+5FCSr3mMoXSYnYTXHRq5?= =?koi8-r?Q?iawjUcPhcvfg81mzUwM7uCE8q1yuo7KPLkrF6LgE0/oPElKvJTjj0kizMtyWZ4?= =?koi8-r?Q?kGdttVs5kVV+kAIfgpfeFe1oamcPzGgANHOxT5bU=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1974;6:uli+tPqaztXsaUo06o3tHYVnXEE+25ubanvKWJIBuqcguRulWjq/LxwnYYtpm2y4Bd91sgB1fLE+ZkrFuF8fL+mxSTnB4z1U1iT3+fT+Ge4Kd4NEg6Z5OJI+2pkXAJ4/i+NGXrnh6663wG4OgFXYQHdTavhZtNvJf/l/YKjJxUP5Wc34E8YJD+xO2L5CZGJK2GyP/8wSRnuMQ2gwHw5bZhGUF3yBilgCTYBBkcn4A3PtLzvkCZBKuRpGTiqdmwPNPZeB4LcU3eHekf60YwjxrU7bJ02E3yueQOFn75+UCtPgsaOCcXF6944Q4aHJVqHh3go0XA4Xc0+CfZgSRvo/FvycsK9V9xw5jT7KqZrIVHQfTOQyaLevG6TSIxJOC8wc/7cNaL8zuEETxiR0M+6E3N+0lkGR7Nv0LTVjfWTxqtbVsG5/fj6rME6G+q9BrTGVJz1XTtZIC5oJw417YOStn0Ypqehv3+UFuhrkql/otGqFDoMYNHl7vKETRJdoDRta+UYcl1Ss+6dlLGllBBmHiA==;5:vtEEO/rN56cnj0ZUYaDk3aM+DkPzxnOpJGjjMy2IdOqnsNQ5Aeq+L1Jw1zFP5+oleeycU4qHmc3TFQNi5OK1wb/oeUEsUEeoAQCWn5UeprGZOlznpTq5kaczVmaXVbJLjJeh97E5Xr9uvEAakZCkRg==;24:4GyiZJ+vd9wgVOCk1ZSoXbXN7qVQiEtzXDVgvrJmXxE4PTi3XzItqYB7RyhvU4mQuwVhuVf45rp+Y9Np9N1QSUFf99LN2YpdxBxsPPN6fXw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1974;7:QYiVvcL6TbDjY192KI0PT11qi37toaEh8FSBari/xOnZrYWAdLpHNH0kQ8YsbBdt9gWUj2ikCa2YjIDq9nVdydBbx4RLEdFZXQDLDC6wrhzhxVL7Ci0MNp+eznzNLBKyY6eE1cnw00M/BJ/rbzyAYNu+ZeaErfRAmxewetwcU4UigyUOGImBceLUXv6FWdnIV3qwchYuQu3DuG6D+9O5X3G9qOi0g1jbuPrsL7TXQ6Pymtue3yBZNYzaI9Ad2RcuwBcVSzutosSR1UgGuvkZlFlx6Q2mlbsJDZhx+WmcJB1tmxLMfnHFV1Aic16zJYuUybZiwQQc6d1NMcIYOYxF3w==;20:Ii9ST2Z8lYZwbrJ4m6gNXwZy/b2qeVAfckouuOm/HcKL/MIAXPduxDj+rwXiR6nMwYz43fJhe50PXLYcTbIgMuG90nqcE1rKsCzu+jKjYfSWSyzeu5N2gB6eSsdUE1dpQOGPturUisUAZg3v5iJhSgFJk2Hf3Yqj8rErB1BOPm4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2017 01:45:20.8719 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 13, 2017 at 01:53:40AM +0300, Cyrill Gorcunov wrote: > On Sat, May 13, 2017 at 12:41:30AM +0200, Jann Horn wrote: > > [resending as plaintext] > > > > I realize that the existing kcmp code has the same issue, but: > > > > Why are you not taking a reference to filp or filp_tgt? This can end up > > performing a comparison between a pointer to a freed struct file and a > > pointer to a struct file that was allocated afterwards, right? So it can > > return a false "is equal" result when the two files aren't actually the same > > if one of the target tasks is running? This looks like it unnecessarily > > exposes information about whether an allocation reuses the memory of > > a previously freed allocation. > > It work with unlocked data on purpose for speed sake. Moreover even > if we grap a reference it is valid _only_ during comparision operation, > next we drop ref and it can be easily freed by os. Thus it's up to > a caller to keep references to files/task and other resources used. Looks like we can take rcu_read_lock() to guarantee that these objects will not be freed, and rcu_read_lock() should not affect perfomance too much. > > Cyrill