Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 8 Apr 2022 10:21:15 +0800
From: 王洪亮 <>
Subject: Re: Re: add loongarch64 port

在 2022/4/7 上午12:00, Markus Wichmann 写道:
> On Wed, Apr 06, 2022 at 10:08:24AM +0800, 王洪亮 wrote:
>> Hi, Rich
>> within __clone() implement __NR_clone3 syscall,
>> will that confusion between clone and clone3?
>> Hongliang Wang
> __clone() is a function with a defined interface. How it is implemented
> is not given in the name. Why should __clone() have to be implemented
> using the SYS_clone system call? If I understood the thread so far
> correctly, the final kernel will not even have SYS_clone.
> Compare with open(), which is often implemented in terms of SYS_openat
> instead of SYS_open. Or qsort(), which, despite the name, is rarely
> implemented as a quicksort.
> So no, there will be no confusion of system calls because a function is
> not implemented in terms of the system call of the same name, as long as
> the function fulfills the defined interface.
> Ciao,
> Markus


I agree this point.
In the implementation,I found a problem:
In order to implement __NR_clone3 syscall in __clone(),
I need to fill struct clone_args,I found clone_args.stack
point to the lowest address of stack,but the input parameter
"stack" of __clone() point to stack bottom(STACK_GROWS_DOWN),
because of no stack_size,I can't convert between them.
Do you have any good suggestions?

Hongliang Wang

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.