blob: 7de1f600c1b70ab36ab2f8964ba80aacc2ac78aa [file] [view] [edit]
The following is dead code, i.e. not reachable from public interfaces or covered
by tests:
* trusted/sandbox - ptrace()-based sandbox for Linux
* This is not used and it seems unlikely that we'd use it, given that
Chromium is switching to use the seccomp sandbox from the SUID sandbox.
ptrace() is slow, complicated and not designed for security.
* trusted/service\_runtime/fs - Some sort of filesystem. Not used.
* `nacl_cur_thread_key`, `GetCurThread`, `GetCurProc` in
trusted/service\_runtime/nacl\_globals.c - _Removed_
* These might be used in the future for supporting x86-64 on Mac OS X.
* `NaClTsd*()` in shared/platform/linux/nacl\_threads.c - _Removed_
* Ditto. Might be used for x86-64 on Mac.
* `NaClAppDtor()` in sel\_ldr.c, and the various functions it calls. -
_Removed_
* This is not completely dead, but it is rarely called. sel\_ldr normally
just does exit() to shut down the process. `NaClAppDtor()` is only
called if sel\_ldr gets an error during startup.
* There is a TODO to remove this function.
* See also http://code.google.com/p/nativeclient/issues/detail?id=560
* The field `holding_sr_locks` in `struct NaClAppThread`, and anything that
sets it. (Nothing reads it.)
* The comments in nacl\_app\_thread.h say this is intended as a way to
kill another thread. It mentions using `pthread_kill()`, but this does
not work for killing threads on Linux.
* Memory objects recorded in the mapping list? Since we don't support mremap()
or relocating the address space (a hack that was proposed for Windows but is
not implemented), I don't think the memory objects are used.
* service\_runtime/web\_worker\_stub.c
* service\_runtime/main.c: Some sort of wrapper that uses dlopen()
* `origin` field in `struct NaClApp` - _Removed_
* "chroot me" functionality in sel\_main.c (NACL\_SANDBOX\_CHROOT\_FD). This
is not strictly dead, but there are no users for it. There are no tests for
it.
* ioctl syscall and method. These are both no-ops. I shouldn't think we'd ever
support an ioctl() syscall, so we should remove the stubs.
* srpc\_get\_fd(). This is called, but the result is never used as a file
descriptor number. The result is only ever compared with -1, to determine
whether the process is running in standalone mode or from the browser
plugin. The same result could be achieved with an environment variable. -
_Removed_
* LogAtServiceRuntime() in the plugin. - _Removed_
This has all become dead as a result of removing SDL support and video/audio
syscalls from sel\_ldr: * The "result" field in NaClAppThread: object created
but not used. * service\_runtime/nacl\_bottom\_half.c * The "work\_queue" field
in NaClApp: read from but never written to. *
service\_runtime/nacl\_sync\_queue.c * service\_runtime/nacl\_closure.c * The
"restrict\_to\_main\_thread" field in NaClApp - _Removed_ * The "is\_privileged"
field in NaClAppThread - _Removed_