> From: Nicolin Chen <nicolinc@xxxxxxxxxx> > Sent: Saturday, May 20, 2023 3:48 AM > > > > > > > > + switch (pt_obj->type) { > > > + case IOMMUFD_OBJ_IOAS: > > > + ioas = container_of(pt_obj, struct iommufd_ioas, obj); > > > + break; > > > > this should fail if parent is specified. > > I don't think that's necessaray: the parent is NULL by default > and only specified (if IOMMUFD_OBJ_HW_PAGETABLE) by the exact > pt_id/pt_obj here. I didn't get. The uAPI describes that only hwpt not ioas can be specified in the pt_id field as the parent. If we don't check here it means the user can specify an ioas id as the parent?