From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 643E0C25B0C for ; Tue, 9 Aug 2022 17:27:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245319AbiHIR1a convert rfc822-to-8bit (ORCPT ); Tue, 9 Aug 2022 13:27:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245302AbiHIR1Q (ORCPT ); Tue, 9 Aug 2022 13:27:16 -0400 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E679A25589; Tue, 9 Aug 2022 10:27:15 -0700 (PDT) Received: (Authenticated sender: hadess@hadess.net) by mail.gandi.net (Postfix) with ESMTPSA id F2297FF802; Tue, 9 Aug 2022 17:27:11 +0000 (UTC) Message-ID: Subject: Re: [PATCH 2/2] usb: Implement usb_revoke() BPF function From: Bastien Nocera To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, bpf@vger.kernel.org, Alan Stern , Benjamin Tissoires , Peter Hutterer , "Eric W . Biederman" , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko Date: Tue, 09 Aug 2022 19:27:11 +0200 In-Reply-To: References: <20220809094300.83116-1-hadess@hadess.net> <20220809094300.83116-3-hadess@hadess.net> <2cde406b4d59ddfe71a7cdc11a76913a0a168595.camel@hadess.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.44.4 (3.44.4-1.fc36) MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Tue, 2022-08-09 at 18:33 +0200, Greg Kroah-Hartman wrote: > On Tue, Aug 09, 2022 at 04:31:04PM +0200, Bastien Nocera wrote: > > On Tue, 2022-08-09 at 12:38 +0200, Greg Kroah-Hartman wrote: > > > Now if you really really want to disable a device from under a > > > user, > > > without the file handle present, you can do that today, as root, > > > by > > > doing the 'unbind' hack through userspace and sysfs.  It's so > > > common > > > that this seems to be how virtual device managers handle virtual > > > machines, so it should be well tested by now. > > > > The only thing I know that works that way is usbip, and it requires > > unbinding each of the interfaces: > > > > https://sourceforge.net/p/usbip/git-windows/ci/master/tree/trunk/userspace/src/bind-driver.c#l157 > > virtio devices also use the api from what I recall. I can't find any code that would reference /sys/bus/usb/drivers/usbfs/unbind or /sys/bus/usb/drivers/usbfs wrt virtio. Where's the host side code for that? > > That means that, for example, revoking access to the raw USB device > > that OpenRGB used to blink colours across a keyboard would > > disconnect > > the keyboard from the HID device. > > No, you unbind the usbfs driver, not the hid driver. Honestly, I don't understand how this is supposed to work. The USB device is bound to the usb_generic driver, usbfs doesn't have a link to the devices it's supposed to handle.