[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7] run QEMU as non-root
On Wed, 30 Sep 2015, Ian Campbell wrote: > On Tue, 2015-09-29 at 18:07 +0100, Ian Jackson wrote: > > Stefano Stabellini writes ("Re: [PATCH v7] run QEMU as non-root"): > > > On Fri, 7 Aug 2015, Wei Liu wrote: > > > > Please use for / while to loop. > > > > > > The goto retry loop is a very common patter for error handling, but I > > > can turn it into a loop if you are keen on it. > > > > I'm afraid I agree with Wei here. > > > > > > Also you might want to save and restore errno. > > > > > > Across the getpwnam_r call? Or across the loop? Or across the function > > > libxl__dm_runas_helper? > > > > I don't understand either. Also I don't understand why you set errno > > to 0. > > getpwnam(7) says: > > RETURN VALUE > The getpwnam() and getpwuid() functions return a pointer to a > passwd structure, or NULL if the matching entry is not found > or an error occurs. If an error occurs, errno is set approâ > priately. If one wants to check errno after the call, it > should be set to zero before the call. > > But this code is using the _r variants, on which the manpage later says: > > On success, getpwnam_r() and getpwuid_r() return zero, and > set *result to pwd. If no matching password record was > found, these functions return 0 and store NULL in *result. > In case of error, an error number is returned, and NULL is > stored in *result. > > So I guess the errno is either a leftover from not using _r in an earlier > version or from applying the first para above to the wrong functions. Yes, I think it was probably a leftover from a previous version. I'll remove it. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |