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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 118B2FEA83B for ; Wed, 25 Mar 2026 09:30:09 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4fghTC5Prrz2xPL; Wed, 25 Mar 2026 20:30:07 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1774431007; cv=none; b=fWLAikrMWKi3P2O9lXOBfnG/aswI/C5pEOtVGUPnrlHQ3Y6+ZI2N+UgbcwZszygDNAH6oHoSpw+GKCyK3GFoHE4b5OaVkv7WFMfnTh93RywSNcgfwLQe/qFIg6fjPo6nxMJnPavACaXMPGNGW+TEpA9rkQfX0vtk+6VJyjMj+iBBBdo+DGYTYS9pPjZpGSojd4J5aZpZfsYPlZSkOxM1UnLsaekIiGR8sq3AUT1DNBtl7jQg82S8d3fbPoWaoTl+jcfA7Dd5zNJcmAldlc6mplHkvP1QTIG4DXbL6NRqrNKSL5OMcaoyfm13Gk6b6IPyNn3jbyRtKKbmzV6snmJxfw== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1774431007; c=relaxed/relaxed; bh=/X6OQFIMMVlzQpHVcxvz5zk00vazKEddYu1a8TXBALA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: In-Reply-To:Content-Type:Content-Disposition; b=CBFbzykhbSVnvuElMMc2tW/w7C09T3kk3W3DIyxjUlVBcJRfkqHSmxeJvOthyzu0RMmV3V/EI9zshSONWIBmqumE7TZL+Vbo0EFVSm68veTfwWPx7bLQSTZFt9UF3pXQ0GyKUjZgtUdQQ5jGQjBLcwcrMNA9OlKdaeCi3j1QAl4O60UTfU5g+ezjobH6Pj6+uYnm7x7hlH0ttiH1H+3dOspmlrSeN5aFSCVFToSe8gnIsyx7trn2kRkEpBus9ifJBi3lyPNS00DDZza6+3JO8ZRrGXZAL/z6d8kPXZQT/s6GbJtKtUvy5tPXG0Q7zRExYx9wprVghl968bacAxwVGg== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UIIwNU+n; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UIIwNU+n; dkim-atps=neutral; spf=pass (client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=mst@redhat.com; receiver=lists.ozlabs.org) smtp.mailfrom=redhat.com Authentication-Results: lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UIIwNU+n; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UIIwNU+n; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=redhat.com (client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=mst@redhat.com; receiver=lists.ozlabs.org) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4fghTB12yFz2xMt for ; Wed, 25 Mar 2026 20:30:04 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774430996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/X6OQFIMMVlzQpHVcxvz5zk00vazKEddYu1a8TXBALA=; b=UIIwNU+nPUJJvHBBie22wcCjzDVg3JpRuHuXBHiy0rjpN6rDxNAzNlOeQY2QG9m8DWuxEm iaNmUUXhpXPFoYwUfpFYc/GchGtfpCQlnmZs/FYSLP7O1jEI3zV30Rr3AOr8Y9H0wsXSVL jcPPi+BUVu4IYinrziQaqTXzZ8OPLkY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774430996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/X6OQFIMMVlzQpHVcxvz5zk00vazKEddYu1a8TXBALA=; b=UIIwNU+nPUJJvHBBie22wcCjzDVg3JpRuHuXBHiy0rjpN6rDxNAzNlOeQY2QG9m8DWuxEm iaNmUUXhpXPFoYwUfpFYc/GchGtfpCQlnmZs/FYSLP7O1jEI3zV30Rr3AOr8Y9H0wsXSVL jcPPi+BUVu4IYinrziQaqTXzZ8OPLkY= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-367-TDBkPqY-MOCVsJCRAUtWhw-1; Wed, 25 Mar 2026 05:29:55 -0400 X-MC-Unique: TDBkPqY-MOCVsJCRAUtWhw-1 X-Mimecast-MFC-AGG-ID: TDBkPqY-MOCVsJCRAUtWhw_1774430994 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-43b4d3919e4so2320250f8f.0 for ; Wed, 25 Mar 2026 02:29:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774430994; x=1775035794; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/X6OQFIMMVlzQpHVcxvz5zk00vazKEddYu1a8TXBALA=; b=rxis7SkTXB8dJi1djdBN4HEnArYBVAocpkqA+wdVsBG/w+w9cZTvwjry7gkO+KlAMU biXME/oRBC24CtQfglOwYhY/0NFs6Qo2/p8A0q0lEplTKkng26k+3ZsYB58pgYJgD4cj LSXdHkrfSPspbRhqwuj13+WC3JGjgnwneTkADkj9SW2Heo+xGgGTeU4jNKZcdviAyYHY ga7qJ9wE5065/j78wQo0ZG9irYEv/R+DYqPW0vnE71JiPK9r9ndL+mw9RGJ0vuvdrwDp pN7rw9yIlagzmbLRZnK172OE/VuK/d7zLcQcv4edJKVwZaDwij2EyzPDEm1EKZ0Q6E2R /lkQ== X-Forwarded-Encrypted: i=1; AJvYcCW1ukW6KgMMiR8o/y+0Nvp8zsaW+stbGjE8dIkQBoQVxZvy6t68jQ7/P/FM9tnjEFGHBPH+engVUcgR2eE=@lists.ozlabs.org X-Gm-Message-State: AOJu0Ywjw/4d7AKizXGwSBbOKYzsz/hX8omZp9gG+oGnUawDdpoFlocc vQhMjJmp6TQFQAcu6TnD/w39ah26T90y0prkOCUCjc4txnPIi7QUdLGuOB167ww1Db0R4HkrCc0 1KPUhAvq6yOCvZqQ34HjU45y++zMtGmceAO/FCWA246EpmUUk/1Mxazrt2Tr4qj8ZfI4= X-Gm-Gg: ATEYQzzGeV6GWi7+lgJkbfjasnrd8OIpBv0GrldutV9ge6M2SYbEiGNoQQVe7cME101 iQkHULISgSOwJvAqH1L1mTf+smL8sO3iLApU2d2aF0FDtVmBXhK7/fno/eCZOJjw2cByw1PwVtz 1e+abNa6gsjZx50wuVZ+SS0bTfF0DZ0oggehZTWG9eCuMlg2cvp+MsGZDAJiUo7gpAXfWNuiDgR 6nvccqtl/QUO/GuU8wcln9dATRMOUQb2Lfkoe/j2LzyfSPcvx5H5ndeQJjI5BzO1ONJyV4ZAhaO IHPCNfjplhHCfcA7QD0k8zcGRYnAWoQM1yV0Fk8WY52zu529EjFhcKJNA8mYt1kkvyGwj35JJnw OZbpM01BEJAWHidKJ X-Received: by 2002:a05:6000:400c:b0:439:be78:e1e9 with SMTP id ffacd0b85a97d-43b88a3d3cdmr3692816f8f.14.1774430993597; Wed, 25 Mar 2026 02:29:53 -0700 (PDT) X-Received: by 2002:a05:6000:400c:b0:439:be78:e1e9 with SMTP id ffacd0b85a97d-43b88a3d3cdmr3692727f8f.14.1774430992928; Wed, 25 Mar 2026 02:29:52 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1525:da00:3ac2:1a22:72ff:4256]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6470380asm44280922f8f.24.2026.03.25.02.29.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 02:29:52 -0700 (PDT) Date: Wed, 25 Mar 2026 05:29:45 -0400 From: "Michael S. Tsirkin" To: Danilo Krummrich Cc: Russell King , Greg Kroah-Hartman , "Rafael J. Wysocki" , Ioana Ciornei , Nipun Gupta , Nikhil Agarwal , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Bjorn Helgaas , Armin Wolf , Bjorn Andersson , Mathieu Poirier , Vineeth Vijayan , Peter Oberparleiter , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Harald Freudenberger , Holger Dengler , Mark Brown , Jason Wang , Xuan Zhuo , Eugenio =?iso-8859-1?Q?P=E9rez?= , Alex Williamson , Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , "Christophe Leroy (CS GROUP)" , linux-kernel@vger.kernel.org, driver-core@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-s390@vger.kernel.org, linux-spi@vger.kernel.org, virtualization@lists.linux.dev, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 00/12] treewide: Convert buses to use generic driver_override Message-ID: <20260325052919-mutt-send-email-mst@kernel.org> References: <20260324005919.2408620-1-dakr@kernel.org> X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 In-Reply-To: <20260324005919.2408620-1-dakr@kernel.org> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: iZm_xGarvwn74k7dyNFGVZZERyYFqB6xu-aPvopgTV4_1774430994 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 24, 2026 at 01:59:04AM +0100, Danilo Krummrich wrote: > This is the follow-up of the driver_override generalization in [1], converting > the remaining 11 busses and removing the now-unused driver_set_override() > helper. > > All of them (except AP, which has a different race condition) are prone to the > potential UAF described in [2], caused by accessing the driver_override field > from their corresponding match() callback. > > In order to address this, the generalized driver_override field in struct device > is protected with a spinlock. The driver-core provides accessors, such as > device_match_driver_override(), device_has_driver_override() and > device_set_driver_override(), which all ensure proper locking internally. > > Additionally, the driver-core provides a driver_override flag in struct > bus_type, which, once enabled, automatically registers generic sysfs callbacks, > allowing userspace to modify the driver_override field. > > SPI and AP are a bit special; both print "\n" when driver_override is not set, > whereas all other buses (and thus the driver-core) produce "(null)\n" in this > case. > > Hence, SPI and AP do not take advantage of the driver_override flag in struct > bus_type; AP additionally maintains a counter in its custom sysfs store(). > > Technically, we could support a custom fallback string when driver_override is > unset in struct bus_type, but only SPI would benefit from this, since AP has > additional custom logic in store() anyways. > > (I'm not sure if there are userspace programs that strictly rely on this; > driverctl seems to check for both, but I rather not break some userspace tool > I'm not aware of. :) > > This series is based on v7.0-rc5 with no additional dependencies, hence those > patches can be picked up by subsystems individually. > > [1] https://lore.kernel.org/driver-core/20260303115720.48783-1-dakr@kernel.org/ > [2] https://bugzilla.kernel.org/show_bug.cgi?id=220789 > [3] https://gitlab.com/driverctl/driverctl/-/blob/0.121/driverctl?ref_type=tags#L99 vdpa bits: Acked-by: Michael S. Tsirkin I assume it'll all be merged together? > Danilo Krummrich (12): > amba: use generic driver_override infrastructure > bus: fsl-mc: use generic driver_override infrastructure > cdx: use generic driver_override infrastructure > hv: vmbus: use generic driver_override infrastructure > PCI: use generic driver_override infrastructure > platform/wmi: use generic driver_override infrastructure > rpmsg: use generic driver_override infrastructure > vdpa: use generic driver_override infrastructure > s390/cio: use generic driver_override infrastructure > s390/ap: use generic driver_override infrastructure > spi: use generic driver_override infrastructure > driver core: remove driver_set_override() > > drivers/amba/bus.c | 37 +++------------ > drivers/base/driver.c | 75 ------------------------------ > drivers/bus/fsl-mc/fsl-mc-bus.c | 43 +++-------------- > drivers/cdx/cdx.c | 40 ++-------------- > drivers/hv/vmbus_drv.c | 36 ++------------ > drivers/pci/pci-driver.c | 11 +++-- > drivers/pci/pci-sysfs.c | 28 ----------- > drivers/pci/probe.c | 1 - > drivers/platform/wmi/core.c | 36 ++------------ > drivers/rpmsg/qcom_glink_native.c | 2 - > drivers/rpmsg/rpmsg_core.c | 43 +++-------------- > drivers/rpmsg/virtio_rpmsg_bus.c | 1 - > drivers/s390/cio/cio.h | 5 -- > drivers/s390/cio/css.c | 34 ++------------ > drivers/s390/crypto/ap_bus.c | 34 +++++++------- > drivers/s390/crypto/ap_bus.h | 1 - > drivers/s390/crypto/ap_queue.c | 24 +++------- > drivers/spi/spi.c | 19 +++----- > drivers/vdpa/vdpa.c | 48 ++----------------- > drivers/vfio/fsl-mc/vfio_fsl_mc.c | 4 +- > drivers/vfio/pci/vfio_pci_core.c | 5 +- > drivers/xen/xen-pciback/pci_stub.c | 6 ++- > include/linux/amba/bus.h | 5 -- > include/linux/cdx/cdx_bus.h | 4 -- > include/linux/device/driver.h | 2 - > include/linux/fsl/mc.h | 4 -- > include/linux/hyperv.h | 5 -- > include/linux/pci.h | 6 --- > include/linux/rpmsg.h | 4 -- > include/linux/spi/spi.h | 5 -- > include/linux/vdpa.h | 4 -- > include/linux/wmi.h | 4 -- > 32 files changed, 88 insertions(+), 488 deletions(-) > > > base-commit: c369299895a591d96745d6492d4888259b004a9e > -- > 2.53.0