コードに「セグメンテーション違反」があります。関数内で "malloc()" を使用してスペースを割り当てているかどうかに興味があります。関数が終了した後、スペースはまだ有効ですか? さらに質問ですが、このような子スレッドを作成すると、親が終了した後も存在すると思います。LinuxでGCCを使用しています。
void foo(){
void *child_stack;
child_stack=(void*)malloc(16384);
child_stack += 16384;
clone((void*)do_function,child_stack,0,NULL);
}