Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop Main Merge 2 #162

Merged
merged 26 commits into from
Mar 28, 2024
Merged

Develop Main Merge 2 #162

merged 26 commits into from
Mar 28, 2024

Conversation

rennergade
Copy link
Contributor

No description provided.

yashaswi2000 and others added 26 commits March 28, 2024 12:15
* epoll fixes in nacl

* new changes

Co-authored-by: lind <lind@nyu.edu>
* adding fchmod to nacl

* fixing NaCl fchmod() syscall

Co-authored-by: lind <lind@nyu.edu>
* Modified fork to preserve shared memory mappings in child

* Fancy mremap use!

* Major posix shm fixup

* Sizeof fix

* Update shm count on exit

* Extra comments, moved shmid into separate field in vmmap entry

Co-authored-by: lind <lind@nyu.edu>
* replace copylock, remove logs

* replace copylock, remove logs

* whitespace fix, remove checkaddr log

* inline attempt

* inline attempt

* inline attempt

* inline attempt

* whitespace pr fixes

* readd host desc checks
* Fixed mutex isolation, made implementation less silly

* Added explanation of glibc to comment
* Added truncate and ftruncate system call implementations

* Actually translated fd... oops
* transition waitany to only use zombie list

* transition waitany to only use zombie list

* consolidate echild check

* consolidate echild check

* fix comments

* fix comments

* fix comments

* fix PR comments, remove bad mutex

* make first check sane

* fix specified pid impl.

* fix specified pid impl.

* cleanup comments

* cleanup comments

* second overhaul for performance

* second overhaul for performance

* second overhaul for performance

* second overhaul for performance

* second overhaul for performance

* fix PR changes, add WNOHANG for fixed pid
* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* initial commit

* memory protections

* memory protections

* memory protections

* memory protections

* fix select

* fix stat

* fix statbuf fields

* fix warnings

* pr changes and syscommon revert

* pr changes and syscommon revert

* pr changes and syscommon revert

* pr comments
* update cancellation status

* exit in handler

* switch segv with cage user addr to untrusted

* properly teardown vmmap in fatal handler

* reorganize to only use kill on untrusted, create own cancel handler

* reorganize to only use kill on untrusted, create own cancel handler

* reorganize to only use kill on untrusted, create own cancel handler

* reorganize to only use kill on untrusted, create own cancel handler

* reorganize to only use kill on untrusted, create own cancel handler

* cleanup and comment

* cleanup and comment

* cleanup and comment

* add cancel point interface

* add cancel point interface

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* insert rustposix kill functions

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* implement cancel points

* refactor cancellation

* refactor for thread exit

* refactor for thread exit

* merge nacl desc removal, add epipe handle

* add cv cancellation

* add cv cancellation

* add cv cancellation

* add cv cancellation

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* fix teardown bug for multiple threads

* remove comment

* more comments
* quick io

* quick io

* restore addr check

* remove CAS from suspension states

* remove CAS from suspension states

* comments
* Added Mknod and Fchdir

* Update lind_platform.c

* Update lind_platform.c

* Update nacl_syscalls.h

* Update nacl_syscalls.h

---------

Co-authored-by: lind <lind@nyu.edu>
* Added Mknod and Fchdir

* Update lind_platform.c

* Update lind_platform.c

* Update nacl_syscalls.h

* Update nacl_syscalls.h

* Remove mknod Syscall

* Update nacl_syscalls.h

* Update lind_platform.c

* Update nacl_syscalls.h

* Update nacl_syscall_common.c

---------

Co-authored-by: lind <lind@nyu.edu>
* hook semaphores

* hook semaphores

* hook semaphores

* hook semaphores

* hook semaphores

* hook semaphores

* hook semaphores

* fix platform
* Adding fsync

* Adding fdatasync

---------

Co-authored-by: lind <lind@nyu.edu>
* Adding fsync

* Adding fdatasync

* Adding sync_file_range

* Change as an off_t

* Update nacl_syscall_handlers_gen.py

* Update nacl_syscall_handlers_gen.py

* Update nacl_syscall_handlers_gen.py

* Update nacl_syscall_handlers_gen.py

---------

Co-authored-by: lind <lind@nyu.edu>
* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Adding strace functionality

* tracing_calls

* tracing_calls

* tracing_calls

* update

* update

* update

* remove tracing on pthread functions

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* updatees on variables in strace

* correct shm calls tracing

* cleanup strace.h

* update

* fix scons

* correct trace .h file

* tracing out file initialized to NULL

* change sr scons

* tracing scons format

* update

* still trying scons

* set tracing output no buffer

* update

* add trace file close

* fix syntax

* update

* add close tracing file

* added pid into strace

Author: Yashaswi Makula <yashaswi.makula@gmail.com>

* strace formatting

* remove trace-to-file env

* updated missing strace functions

* updates to strace

* updates to strace format

* update

* more fixes

* update

* fix tracing missing args, missing rets, wrong args

* fix typo

* correcting args

* correcting print statements

* correcting print statements

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* remove vscode file

* Revert "Merge branch 'add2' of https://github.com/Lind-Project/native_client into add-tracing2"

This reverts commit 6013817, reversing
changes made to 78850c9.

* testing tracing print string bufs

* fix print length macro

* fix formmating

* fix write print

* update tracing print for unlink and rename

* unify tracing reval types

* add tracing string formatting function

* fix typo

* debug formatting

* debug formatting

* typo

* fix formatting

* fix formatting

* update

* fix formatting

* fix formatting

* apply formatting to many tracing functions

* fix typo

* more cleanup

* review corrections

* formatting changes

* fixing test failures

* fix some formatting issue

* freeing formatting buffers

* fix typo

* adding trace for sync range

* add newline

---------

Co-authored-by: Yashaswi Makula <yashaswi.makula@gmail.com>
Co-authored-by: Rupesh Koushik <rupeshkoushik@Rupeshs-Mac-mini.local>
Co-authored-by: lind <lind@nyu.edu>
Co-authored-by: Nicholas Renner <nicholassrenner@gmail.com>
* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Adding strace functionality

* tracing_calls

* tracing_calls

* tracing_calls

* update

* update

* update

* remove tracing on pthread functions

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* updatees on variables in strace

* correct shm calls tracing

* cleanup strace.h

* update

* fix scons

* correct trace .h file

* tracing out file initialized to NULL

* change sr scons

* tracing scons format

* update

* still trying scons

* set tracing output no buffer

* update

* add trace file close

* fix syntax

* update

* add close tracing file

* added pid into strace

Author: Yashaswi Makula <yashaswi.makula@gmail.com>

* strace formatting

* remove trace-to-file env

* updated missing strace functions

* updates to strace

* updates to strace format

* update

* more fixes

* update

* fix tracing missing args, missing rets, wrong args

* fix typo

* correcting args

* correcting print statements

* correcting print statements

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* updating strace

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* int datatype update

* remove vscode file

* Revert "Merge branch 'add2' of https://github.com/Lind-Project/native_client into add-tracing2"

This reverts commit 6013817, reversing
changes made to 78850c9.

* testing tracing print string bufs

* fix print length macro

* fix formmating

* fix write print

* update tracing print for unlink and rename

* unify tracing reval types

* add tracing string formatting function

* fix typo

* debug formatting

* debug formatting

* typo

* fix formatting

* fix formatting

* update

* fix formatting

* fix formatting

* apply formatting to many tracing functions

* fix typo

* more cleanup

* review corrections

* formatting changes

* fixing test failures

* fix some formatting issue

* freeing formatting buffers

* fix typo

* adding trace for sync range

* add newline

* update formatting

* update print statements

* update Lstat print statements

* add_dependencies

* update path

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* totat time

* strace time

* resolve merge conflicts

* delete vsc

* resolve merge conflicts

* remove whitespaces

* indent

* indent

* remove comments

* indent

* Delete dup

* Revert "Delete dup"

This reverts commit a586635.

* remove whitelines

* remove totaltime

* update sel_mem

* update whitespaces

* remove whitelines

* remove comments

* remove whitelines

---------

Co-authored-by: Yizhuo Liang <yizhuo.liang.hello@gmail.com>
Co-authored-by: Yashaswi Makula <yashaswi.makula@gmail.com>
Co-authored-by: Rupesh Koushik <rupeshkoushik@Rupeshs-Mac-mini.local>
Co-authored-by: lind <lind@nyu.edu>
Co-authored-by: Nicholas Renner <nicholassrenner@gmail.com>
* update stracec

* update header

* update common

* update strace

* update else spacing

* update dummy value

* update % and order

* update % and order

* add extra line

* remove unused variables

* update mkdir function
* [WIP]Add Sigaction

* Convert pointers

* Added sigaction NaCl fixes

* Add kill syscall

* Convert struct sigaction to struct nacl_abi_sigaction

* Make sa_handler uint32_t

* Added NaCl signal handler

* Add sigprocmask syscall

* Fix redundant sigprocmask signature in nacl_syscall_handlers_gen.py

* Fix type castings in NaclSysSigprocmask

* Fix incorrect types for nacl_abi_sigaction

* Added successful untrusted sighandler for when we're signaled in untrusted code!

* Remove teardown for SIGPIPE

* Add alarm syscall

* Add setitimer syscall

* Remove redundant code for alarm

* Remove an extra const

* Lind now allows returns from signal handlers

There still is a problem about our return address not being 32 byte
aligned, but we will deal with that later

* Add Sigprocmask Syscall (#135)

* Add sigprocmask syscall

* Fix redundant sigprocmask signature in nacl_syscall_handlers_gen.py

* Fix type castings in NaclSysSigprocmask

* Fix incorrect types for nacl_abi_sigaction

* Remove teardown for SIGPIPE (#136)

---------

Co-authored-by: Nicholas Renner <nicholassrenner@gmail.com>

* merge

* merge

* Fixed the untrusted code path, added the trusted code path, not fully tested

* fix is untrusted bug

* Some updates to try to fix trusted

* further fixes

* natp vs reg fix, other fixes

* revert to fix untrusted

* minor fix

* redzone now respected

* update pending signal fn signatures

* update pending signal fn signatures

* small fix number seven trillion

* stack ptr adjustment

* Draft of final stag of signal catching, working out final bugs

* trusted flag restoration and untrusted stack pointer fix

* 32 byte alignment sigtrap attempt

* Made sure padding bytes update correctly

* Handled 32 byte alignment successfully

* Respect trusted redzone

* Removed unnecessary cruft

* additional handling settings

* merge develop

* add mainthread init

* add mainthread init

* usr2 test

* Fixed every signal bug I have seen so far except for signals in the gettls function and 2 commented race conditions

* merge updates

* merge updates

* return to program if signal blocked

* add signal flag

* add signal flag

* add signal flag

* fixed one race condition

* add signal flag

* Added signal return reset of sigmask

* refactor

* merge sigreturn

* remove suspension handler

* fix exception flag

* tls fix

* code refactor and minor fix for entry

* Fixed early syscall rsp clobber bug

* Fixed TOCTTOU

* add back in signal flag

* mask debug

* mask debug

* mask debug

* mask debug

* mask debug

* mask debug

* mask debug

* mask debug

* mask debug

* long architectural comment

* small change to fix push?

* Fixed comment

* Section headers and references

* removed weird text

* remove debug

* remove debug

* remove debug

* remove debug

* additional comments

* comment out NACL_STACK_ALIGN for handler

* restore stack align

* move rsp to end of context struct

* pop rsp

* pop rsp

* mask r15 on rsp pop

* mask r15 on rsp pop

* restore original rsp position

* add sp duplicate to struct

* update comment

* pr comments and fixes

* pr comments and fixes

* pr comments and fixes

* pr comments and fixes

* pr comments and fixes

* fix merge

* fix merge

* merge tracing

* notrap

* add debug ifdef

* merge

* strace on sigint

---------

Co-authored-by: lind <lind@nyu.edu>
Co-authored-by: jesings <34111484+jesings@users.noreply.github.com>
Co-authored-by: Tian(Maxwell) Yang <maxwell_yang@outlook.com>
Co-authored-by: Tian Yang <31149339+AlpacaMax@users.noreply.github.com>
* sort the output

* sort

* update sort

* remove line

* sort

* sort

* update spacing

* update spacing

* update % sort
* fix prog ctr

* fix prog ctr

* fix prog ctr
@rennergade rennergade merged commit f2f17c1 into main Mar 28, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants