> +struct ib_pd *rvt_alloc_pd(struct ib_device *ibdev, > + struct ib_ucontext *context, > + struct ib_udata *udata) > +{ > + struct rvt_dev_info *dev = ib_to_rvt(ibdev); > + struct rvt_pd *pd; > + struct ib_pd *ret; > + > + pd = kmalloc(sizeof(*pd), GFP_KERNEL); > + if (!pd) { > + ret = ERR_PTR(-ENOMEM); > + goto bail; > + } > + /* > + * This is actually totally arbitrary. Some correctness tests > + * assume there's a maximum number of PDs that can be allocated. > + * We don't actually have this limit, but we fail the test if > + * we allow allocations of more than we report for this value. > + */ Why not trap this in user space, rather than forcing the kernel to support some test program? ��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f