From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754695AbdKARSa (ORCPT ); Wed, 1 Nov 2017 13:18:30 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:46848 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751347AbdKARS1 (ORCPT ); Wed, 1 Nov 2017 13:18:27 -0400 Subject: Re: [PATCH 1/2] bpf: add a bpf_override_function helper To: Josef Bacik , , , , , , , References: <1509555643-2899-1-git-send-email-josef@toxicpanda.com> <1509555643-2899-2-git-send-email-josef@toxicpanda.com> CC: Josef Bacik From: Alexei Starovoitov Message-ID: <1b1ea1f7-14ff-9725-c481-6ca6059d6051@fb.com> Date: Wed, 1 Nov 2017 10:18:02 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1509555643-2899-2-git-send-email-josef@toxicpanda.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2620:10d:c090:180::1:39bd] X-ClientProxiedBy: MWHPR22CA0038.namprd22.prod.outlook.com (2603:10b6:300:69::24) To SN2PR15MB0974.namprd15.prod.outlook.com (2603:10b6:804:20::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 45b52615-91ad-4f1f-496d-08d5214c84ed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(2017052603199);SRVR:SN2PR15MB0974; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0974;3:rDfnK7DsbwJXlWFbE8yv3JvqVicUukxkXayEnHu688DsuLZ9AXA+NbgTeawy3egraEw/VvoOArKGTmzGOky/uI5o1y5rjB2DQ2iC7Np8jEr6lTKSyA7BiajjHuujxhbvRq6NZXBe6CddOF3ZXFJlSpBGWO9weDX/ZuWUKb8IdDuU+aavMJElXSmGLTrqsVcI0NU17hxNnY9ep7YontM3zsTSK9dEwPVz4XDb0t5JD6DroLZYvCk527e5DdaKv+Ij;25:I5t6VJOxTpxjIZm3YDGuNkqXi+nVCSOqx7pFsPEH/wdsGf2fKZv9XGPs/yrL5K4i4aVreLuqr9dTincRpmJMwkFlBgSAc0YroxZpJaHTgTPLBgwO+0GMJa88cwFeBCnODJnZXaOyJi02CgdI2/jZqqN4/14PeynSSPSpqHK2vWEvtXV/W8kR8oZJ++aI5jYuMU3IFTgbMKEPjOJK+Vi/iaOp4YqkswirfoIIAuVYcxrGlkp0XP22HSolJQ0SfYCLzWQzcgbz2EAlKwQHssx3jrJGctMSFykGGDzp9rb7Z7CHxkXxld079QMc51INHkOi+0DPVSQbokFFRazVmORk4w==;31:ywkmuwY6w1FDU1BXxxK1e5Bi4hxEG45AQByFhfwlAT8+Q7tg66L5wRkt8LJYpOAfV3p1UCxKaPT2WvHgUJbNO8UmggRoWM9iKfQ9wG/pGGzdZvrThuF1zHnH37pqsP/re7T2dA5YsouLKEGNv2PwCu3NgBcnWmp9kjYtuNUCTc6/9hxV2g8D4HgDMbc8ktzobDxFKr4Wx9rSjh6xHWsyiU/I37/7ML3AAL/4PhYhXdc= X-MS-TrafficTypeDiagnostic: SN2PR15MB0974: X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0974;20:IVk5NS4AKJw7QSiOkoqgLoitXuXu85UCknnXcc2I6KbFbxOxhsY5nVyMHE7DqhgIXjZ6H7yWWIasdOwzXMRHGxOXA5T2n/Tj2HxqypmVpf5bQb9nLyHbZYX+kYmwAc8O2MbSh+h8ScWgyGUwIFJwL50zXK62M6PO0mQwbP5EM40yc6A8jIM3OiSs5tzbTRVTt8deQrfwP40UzJv0WBisVc1unLf3mxn3N4WzO1x68qaAHK7SclxieqeKQ0ZJQFNJmTmVQdiI3PM5svAzkmgi9A0Y7jpPJMyFSHuMS8aTdNVKvKHXXelqGUaUH02VPevLW92QZZRH8D1BZxi9jILjMVyckqzn+brbtqAWszgB8Hb9zX/qRMkw1XHQ5Hrtoqhw72JSSXGbtgVim27BmBZmiH4TeUf2vGxxU1sf9Js218AuluAPO6w6gbcCRrUvcmTQjN8xhbYdrzmlBQij4OTBMhT+tKItiR7geCdOtRJd2mL1VTGwjz3WlCXAIxorAgbp;4:hsKIgPoJ8OyiM+/YiGGewXZE2zaK3qF6JfCBeniV9VDKuGFNyPmz4Ssw9Kp+h5dIIOiN0Veh7MlmCLP5PXmvy2GVs5S+SSWMquyu2jGlbf3KWsF2xSTH+dWj97oKMy1JXSduMQ+THVs2sqhTtLn+ivO1GE+MwBr+shJBJ42596vTi/E4X2Qlb7Q6kqq5o5qvpBKAK6cfB3YROUXB4bROs0ocQdOqKMidS1vVVodDfsnAC11/NFl9FBhxBTpbDj8M+Yf22IwOuEFDybWHk70k8n2CEtQQxqZ73x/n8fTrU3RX2VhJnGKxTwmf97rWzCbl X-Exchange-Antispam-Report-Test: UriScan:(67672495146484); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(11241501159)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(3231020)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN2PR15MB0974;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN2PR15MB0974; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(376002)(346002)(24454002)(199003)(189002)(4326008)(65956001)(7736002)(47776003)(36756003)(65806001)(81166006)(6116002)(53936002)(31686004)(8936002)(6246003)(230700001)(81156014)(8676002)(1706002)(478600001)(5660300001)(31696002)(86362001)(97736004)(67846002)(65826007)(6636002)(6666003)(2950100002)(33646002)(54356999)(53546010)(106356001)(58126008)(105586002)(2906002)(76176999)(50986999)(316002)(83506002)(23746002)(305945005)(229853002)(101416001)(64126003)(25786009)(68736007)(6486002)(50466002)(189998001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB0974;H:[IPv6:2620:10d:c081:1131::112d];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN2PR15MB0974;23:bQ56Un8t1y7xOZH+LzZIHdwZzh2jzWUtRctkd?= =?Windows-1252?Q?dayB3Oj44EmH8Q/bxjLXeMuJHoJ2lhjLib6AMzCSj+STTGFTwbKWASNR?= =?Windows-1252?Q?sNUHdXSoYDHbYzrWIg8QeO/YBw5jRUpJDrh5Ms9ZFLviNQREwqVkdHqe?= =?Windows-1252?Q?/0jWxsjS+VFgf2KwkcLgPszSPB1BkZMzX6BluZG4H2Y89zfANeUdmbmu?= =?Windows-1252?Q?VaLdkbcvbx13R43kIVQZyvoR9Wu++q5fACuXPz+lYcRU3tjIjXL972r9?= =?Windows-1252?Q?hrPL8XaPu3yGbfY50Mej3T6aFEaB6UGpq3eyUjO08uV8McIR3SFGEy9w?= =?Windows-1252?Q?bxZ/PfVt1UxmWIdoYUmForD7sJKKM7iNZl/1yrljPqKD5agYmxeJ076u?= =?Windows-1252?Q?74Rfn+lH0tQHArDvW3kT6Vn+M3Ij+xuO72tqEW+zp2hn+yYoDfrx38xc?= =?Windows-1252?Q?ArZnQekmM5gth6OM/z7IpZLi2vrqNnurKS8XN+t3qeeibu0DQ4k/xFFR?= =?Windows-1252?Q?gRG8GtdOBEe43q0+3Z+av9bl/L9/EjMiC3TNhiJVt/xDTqY5jHpQK87v?= =?Windows-1252?Q?IGurzU3VlwoK9f6QthPAl01IO7TiBBwjvYQEG4pt/D2VjSSKW/TgyWDZ?= =?Windows-1252?Q?cFW0ENiloETsEiloXm0zUnwnLu8m1j4nGAyBrcay+sgYkGoivvtyCYUR?= =?Windows-1252?Q?9uTFiHHROUfu4DUcpQ0JMO8w28nn/+5ePwJWmNuDp7licdIVw+OfzblF?= =?Windows-1252?Q?Lp67KKfzMUI0K6s67YVOypkO1ypK5SwavgOwjuFgmPRBJw0p01pdfRos?= =?Windows-1252?Q?eIh9+KMYjdvUQ1Kq8hzYzM9WSpLPebTCmGibpUtY0TBOaWlJd9DmtYO8?= =?Windows-1252?Q?GPkr4f0/hrZsyeuV8ZGO3WwOPTxy4JCrWzuachxn4Up9aP3sGv2DHyBG?= =?Windows-1252?Q?6pr8t4GjxTVLns7yBrvR4NnMT3VI7qS1yBUKpedbmiDYuHRhDd53Mv0f?= =?Windows-1252?Q?tCV3Qv0uZ46YkM3hOPlFdZpj9K5b1e4FM0YWGOz1zl3QgXsxMSCP5WAI?= =?Windows-1252?Q?vo5YDQawA+hmLBIEXsbCEsoL6NR6+FCds0kwE0yHAsag8f+nMb2XrNr+?= =?Windows-1252?Q?RHzkSBQtF8cYlHvQ/DZ8Ct/mJi2si3CRyoXdNJzsp051LoSh33XTz7FC?= =?Windows-1252?Q?C+QWPTuJH4toy4TLL/WMUgOlExvZcL+x8N1rs3RvHwxTAffHrhsjVRA2?= =?Windows-1252?Q?aWrTpePBWDSfdVU5rW9CYvWw/XO6cOZajycDzVlLA19zP6EmBPVUDFNV?= =?Windows-1252?Q?BpzLBOl29ad3w6xZ/HhvFi2ElcxsSlvqa+lmbrJC38SwKg=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0974;6:pJaRigBbfvFC+k77D3k5KyKlPpbnuRJyN4ZIBK7vJzVk4hS42AImJJww5/2hacg4hsK+ySji7zbETHqSrSBxvPG2Gx9xyhvI6qB7smgT6osQx1IrjCRCm+/5GmLPtuL0AdEnTr7RLslUmgip43+WgWAJa1ABmTUXAm+xviDoIXz/5paVuCAYIG6Bn4UtSO9uJMCL+mKchoPwZEiRX60S8VhjAUMjhfSPh3VHzFjP8Cqy7Th5kJmO6R1q62HdCKF87GfRbICAbkXDXPtJgO21OBGfP/0RL51rAoSSo1amaLNSarJkkt4GdO22LIjvBN0s6XjJKOc0ek4sETQqzJbOK3dUcTzJbpk4wRAudBrhQSY=;5:gJ44j16yGGH7KRd2fl/FcHGNf/luZeAbrWr26FibCkLYgVRdEgxkMvT5JGheMhblfgJ8PRiGCK9Toe6OgVx+hMRQW+Be/ocJB/sQ3hI1/qfVNEIviJtZ7Lv8qOXyzcMdLq9L8kywVNUBg1xjpLN884ts+o7EM2btBLx0vLIWkzQ=;24:ST8BxeOnZ05XfQYe4KHhWQ/xOSWTrGd3turzTIdqrRNbt5Ktgt40/BSp9/XiG1YX4iYM9aZPtt2LDyRzoNKv52rKd4fXFhBSSLfE9yfHW6U=;7:p+d+0IAAvZ0VPG1b2FJd5J2kvsbzKGj01nsNHV9spFHFOoJrT91jY6JGgm2pTzqUnmpAXtHWNIl8SQ3WkokQmVgYPwWMM21OJQL50UFRMfg1Zr/AIey7kzQPiLX7LQ9BJ6gOdN63/ZHH01tzZdyO24+6iqCtPgFUEYfMpSEdckIdXij/UqvGlga6TfC3qFb1T/6C7fojVtr66raLdV1FczaX98VTSBhqUIRN7MSsBEOejWVTT8ELKwsc9SpGoq86 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0974;20:warqMmTuPSUtvy0KQ6CZe63t7K1udcVDJOun3wLkDTXqnoUGUb7JmbT3h3zP4iQKwpg+dVWt8JjnVf6DW2RK5S7Tl2wroAh+cURCY5m4RnZZO4kBrGMugGRl9HU0++pA0vHnZJuUF/mxDe8nnA6kSn8Qd1d0X1V/ZFWqQ+52NZI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 17:18:06.3697 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 45b52615-91ad-4f1f-496d-08d5214c84ed X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB0974 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-11-01_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/1/17 10:00 AM, Josef Bacik wrote: > From: Josef Bacik > > Error injection is sloppy and very ad-hoc. BPF could fill this niche > perfectly with it's kprobe functionality. We could make sure errors are > only triggered in specific call chains that we care about with very > specific situations. Accomplish this with the bpf_override_funciton > helper. This will modify the probe'd callers return value to the > specified value and set the PC to an override function that simply > returns, bypassing the originally probed function. This gives us a nice > clean way to implement systematic error injection for all of our code > paths. > > Signed-off-by: Josef Bacik Both bpf and tracing bits look great to me. Acked-by: Alexei Starovoitov