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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 11 Apr 2024 21:13:17 +0800
From: Baolu Lu <baolu.lu@...ux.intel.com>
To: Jason Gunthorpe <jgg@...pe.ca>
Cc: baolu.lu@...ux.intel.com, Joerg Roedel <joro@...tes.org>,
 Will Deacon <will@...nel.org>, Robin Murphy <robin.murphy@....com>,
 Kevin Tian <kevin.tian@...el.com>, Tina Zhang <tina.zhang@...el.com>,
 Yi Liu <yi.l.liu@...el.com>, iommu@...ts.linux.dev,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 12/12] iommu/vt-d: Retire struct intel_svm

On 2024/4/11 21:07, Jason Gunthorpe wrote:
>> +static void intel_mm_free_notifier(struct mmu_notifier *mn)
>> +{
>> +       kfree(container_of(mn, struct dmar_domain, notifier));
>> +}
>> +
>>   static const struct mmu_notifier_ops intel_mmuops = {
>>          .release = intel_mm_release,
>>          .arch_invalidate_secondary_tlbs =
>> intel_arch_invalidate_secondary_tlbs,
>> +       .free_notifier = intel_mm_free_notifier,
>>   };
>>
>>   static int intel_svm_set_dev_pasid(struct iommu_domain *domain,
>> @@ -598,10 +604,8 @@ static void intel_svm_domain_free(struct iommu_domain
>> *domain)
>>   {
>>          struct dmar_domain *dmar_domain = to_dmar_domain(domain);
>>
>> -       if (dmar_domain->notifier.ops)
>> -               mmu_notifier_unregister(&dmar_domain->notifier, domain->mm);
>> -
>> -       kfree(dmar_domain);
>> +       /* dmar_domain free is defered to the mmu free_notifier callback. */
>> +       mmu_notifier_put(&dmar_domain->notifier);
>>   }
> Yeah, that is better.
> 
> Also you need to have mmu notifier call on module unload when using
> this scheme.

The Intel IOMMU driver doesn't support being a module. It's always
built-in.

Best regards,
baolu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ