[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: fix build on rather old systems
>>> On 11.01.19 at 12:18, <wei.liu2@xxxxxxxxxx> wrote: > On Fri, Jan 11, 2019 at 03:09:35AM -0700, Jan Beulich wrote: >> CLONE_NEWIPC has been introduced in Linux 2.6.19 only (and into glibc >> at around that time as well). Cope with it being undefined as well as >> with the underlying kernel not knowing of it. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> Considering how old "old" here really means, I could understand if >> this was rejected, in which case I'd carry a simplified version locally. >> I don't run such old kernels together with modern Xen, but I do >> occasionally build on such old systems. >> >> --- a/tools/libxl/libxl_linux.c >> +++ b/tools/libxl/libxl_linux.c >> @@ -334,12 +334,24 @@ int libxl__local_dm_preexec_restrict(lib >> unsigned i; >> >> /* Unshare mount and IPC namespaces. These are unused by QEMU. */ >> - r = unshare(CLONE_NEWNS | CLONE_NEWIPC); >> + r = unshare(CLONE_NEWNS); >> if (r) { >> - LOGE(ERROR, "libxl: Mount and IPC namespace unfailed"); >> + LOGE(ERROR, "libxl: Mount namespace unshare failed"); >> return ERROR_FAIL; >> } >> >> +#ifndef CLONE_NEWIPC /* Available as of Linux 2.6.19 / glibc 2.8 */ >> +# define CLONE_NEWIPC 0x08000000 > > I have no problem making it build with this. > >> +#endif >> + r = unshare(CLONE_NEWIPC); >> + if (r) { >> + if (r && errno != EINVAL) { >> + LOGE(ERROR, "libxl: IPC namespace unshare failed"); >> + return ERROR_FAIL; >> + } >> + LOG(WARN, "libxl: IPC namespace unshare unavailable"); > > But I guess whether it should be allowed to continue or not is another > question. Do we consider this IPC namespace "must-have"? Well, there simply can't be different namespaces to switch between when the kernel doesn't understand the flag. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |