Thread (11 messages) flat view 11 messages, 3 authors, 2016-07-11

Re: [RFC] arm64: kexec_file_load support

From: Dave Young <hidden>
Date: 2016-07-11 08:15:07
Also in: kexec, linux-arm-kernel, lkml

On 07/11/16 at 04:19pm, AKASHI Takahiro wrote:
On Fri, Jul 08, 2016 at 11:48:44AM -0300, Thiago Jung Bauermann wrote:
quoted
Am Donnerstag, 07 Juli 2016, 14:12:45 schrieb Dave Young:
quoted
If so maybe change a bit from your precious mentioned 7 args proposal like
below?

struct kexec_file_fd {
	enum kexec_file_type;
	int fd;
}

struct kexec_fdset {
	int nr_fd;
	struct kexec_file_fd fd[0];
}

int kexec_file_load(int kernel_fd, int initrd_fd,
		    unsigned long cmdline_len, const char *cmdline_ptr,
		    unsigned long flags, struct kexec_fdset *extra_fds);

Is there a way for the kernel to distinguish whether the process passed 5 or 
6 arguments? How can it know whether extra_fds is a valid argument or just 
garbage? I think we have to define a new flag KEXEC_FILE_EXTRA_FDS so that 
the process can signal that it is using the new interface.
Good point. What I had in my mind is "open" system call.
Glibc's implementation of open() checks for the second argument, flags,
to determine whether or not the third argument, mode, is required.

So our current consensus is that, for the time being, we will extend
the existing system call interface to allow extra file descriptors,
and *if* we really need a different type of parameters in the future,
we will add another system call.
Sounds good to me.
If we all agree, I can post a kernel patch for this change as a RFC.
(I've already verified it with my prototype of kexec_file_load support
on arm64.)

Thanks,
-Takahiro AKASHI
quoted
-- 
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center
Thanks
Dave
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help