29.09.2020 20:41, Dmitry Osipenko пишет: > 29.09.2020 09:13, Nicolin Chen пишет: >> The tegra_smmu_group_get was added to group devices in different >> SWGROUPs and it'd return a NULL group pointer upon a mismatch at >> tegra_smmu_find_group(), so for most of clients/devices, it very >> likely would mismatch and need a fallback generic_device_group(). >> >> But now tegra_smmu_group_get handles devices in same SWGROUP too, >> which means that it would allocate a group for every new SWGROUP >> or would directly return an existing one upon matching a SWGROUP, >> i.e. any device will go through this function. >> >> So possibility of having a NULL group pointer in device_group() >> is upon failure of either devm_kzalloc() or iommu_group_alloc(). >> In either case, calling generic_device_group() no longer makes a >> sense. Especially for devm_kzalloc() failing case, it'd cause a >> problem if it fails at devm_kzalloc() yet succeeds at a fallback >> generic_device_group(), because it does not create a group->list >> for other devices to match. >> >> This patch simply unwraps the function to clean it up. >> >> Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> >> --- > > Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx> > Tested-by: Dmitry Osipenko <digetx@xxxxxxxxx>