lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 27 Apr 2022 10:42:07 -0400
From:   Matthew Rosato <mjrosato@...ux.ibm.com>
To:     Jason Gunthorpe <jgg@...dia.com>
Cc:     linux-s390@...r.kernel.org, alex.williamson@...hat.com,
        cohuck@...hat.com, schnelle@...ux.ibm.com, farman@...ux.ibm.com,
        pmorel@...ux.ibm.com, borntraeger@...ux.ibm.com, hca@...ux.ibm.com,
        gor@...ux.ibm.com, gerald.schaefer@...ux.ibm.com,
        agordeev@...ux.ibm.com, svens@...ux.ibm.com, frankja@...ux.ibm.com,
        david@...hat.com, imbrenda@...ux.ibm.com, vneethv@...ux.ibm.com,
        oberpar@...ux.ibm.com, freude@...ux.ibm.com, thuth@...hat.com,
        pasic@...ux.ibm.com, pbonzini@...hat.com, corbet@....net,
        kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-doc@...r.kernel.org
Subject: Re: [PATCH v6 16/21] vfio-pci/zdev: add open/close device hooks

On 4/27/22 10:04 AM, Jason Gunthorpe wrote:
> On Tue, Apr 26, 2022 at 04:08:37PM -0400, Matthew Rosato wrote:
> 
>> +static int vfio_pci_zdev_group_notifier(struct notifier_block *nb,
>> +					unsigned long action, void *data)
>> +{
>> +	struct zpci_dev *zdev = container_of(nb, struct zpci_dev, nb);
>> +	int (*fn)(struct zpci_dev *zdev, struct kvm *kvm);
>> +	int rc = NOTIFY_OK;
>> +
>> +	if (action == VFIO_GROUP_NOTIFY_SET_KVM) {
>> +		if (!zdev)
>> +			return NOTIFY_DONE;
>> +
>> +		fn = symbol_get(kvm_s390_pci_register_kvm);
>> +		if (!fn)
>> +			return NOTIFY_DONE;
>> +
>> +		if (fn(zdev, (struct kvm *)data))
>> +			rc = NOTIFY_BAD;
>> +
>> +		symbol_put(kvm_s390_pci_register_kvm);
> 
> Is it possible this function can be in statically linked arch code?
> 
> Or, actually, is zPCI useful anyhow without kvm ie can you just have a
> direct dependency here?
> 

zPCI devices (zpci_dev) exist regardless of whether kvm is configured or 
not, and you can e.g. bind the associated PCI device to vfio-pci when 
KVM is not configured (or module not loaded) and get the existing 
vfio-pci-zdev extensions for that device (extra VFIO_DEVICE_INFO 
response data).  Making a direct dependency on KVM would remove that; 
this was discussed in a prior version because this extra info is not 
used today outside of a KVM usecase -- but it could be useful in the 
future (or we may have other s390-isms that are not specific to kvm that 
need vfio-pci-zdev).

As far as statically linking in arch...  The fundamental 
(un)registration task being done here -- (dis)associating the guest GISA 
with the firmware and thus allowing this particular guest to use 
firmware assists (or turning it off when kvm == 0) -- is only relevant 
to guest passthrough with kvm and calls a number of different routines 
that reside in the kvm module during the (un)registration process. 
Without a direct dependency I think a symbol lookup still has to 
inevitably happen at some point in the call chain.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ