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
| ||
|
Date: Fri, 23 Aug 2013 09:30:58 +0800 From: Wei Yang <weiyang@...ux.vnet.ibm.com> To: Alex Williamson <alex.williamson@...hat.com> Cc: Alexey Kardashevskiy <aik@...abs.ru>, paulus@....ibm.com, benh@....ibm.com, linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH 2/2] powerpc/iommu: check dev->iommu_group before remove a device from iommu_group On Thu, Aug 22, 2013 at 10:17:20AM -0600, Alex Williamson wrote: >On Thu, 2013-08-22 at 23:41 +0800, Wei Yang wrote: >> >> >> >> Alex, >> >> >> >> Sorry for not including you in the very beginning, which may spend you more >> >> efforts to track previous mails in this thread. >> >> >> >> Do you think it is reasonable to check the dev->iommu_group in >> >> iommu_group_remove_device()? Or we can count on the bus notifier to check it? >> >> >> >> Welcome your suggestions~ >> > >> >I don't really see the point of patch 1/2. iommu_group_remove_device() >> >is specifically to remove a device from an iommu_group, so why would you >> >call it on a device that's not part of an iommu_group. If you want to >> >avoid testing dev->iommu_group, then implement the .remove_device >> >callback rather than using the notifier. Thanks, >> > >> >> You mean the .remove_device like intel_iommu_remove_device()? >> >> Hmm... this function didn't check the dev->iommu_group and just call >> iommu_group_remove_device(). I see this guard is put in iommu_bus_notifier(), >> which will check dev->iommu_group before invoke .remove_device. >> >> Let me explain the case to triger the problem a little. >> >> On some platform, like powernv, we implement another bus notifier when devices >> are added or removed in the system. Like Alexey mentioned, he missed the check >> for dev->iommu_group in the notifier before removing it from iommu_group. This >> trigger the crash. >> >> So do you think it is reasonable to guard the kernel in >> iommu_group_remove_device(), or we give the platform developers the >> responsibility to check the dev->iommu_group before calling it? > >I don't see it as we need either patch 1/2 or patch 2/2. We absolutely >need some form of patch 2/2. Patch 1/2 isn't necessarily bad, but it >facilitates sloppy usage. The iommu driver shouldn't be calling >iommu_group_remove_device() on arbitrary devices that may or may not be >part of an iommu_group. Perhaps patch 1/2 should be: > >if (WARN_ON(!group)) > return; > Agree, this one sounds more reasonable. :-) Since patch 2/2 is merged by Alexey, I will re-send patch 1/2 alone. Thanks for your comments ~ >Thanks, > >Alex > >_______________________________________________ >Linuxppc-dev mailing list >Linuxppc-dev@...ts.ozlabs.org >https://lists.ozlabs.org/listinfo/linuxppc-dev -- Richard Yang Help you, Help me -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists