-
Notifications
You must be signed in to change notification settings - Fork 221
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
vxworks osloader.c functions not using mutex #99
Comments
Imported from trac issue 76. Created by abrown4 on 2015-07-15T11:47:13, last modified: 2015-12-01T14:13:24 |
Trac comment by abrown4 on 2015-07-20 15:43:12: Discovered OS_ModuleLoad() also wasn't always cleaning up when encountering an error and performing an early return with |
Trac comment by abrown4 on 2015-07-20 16:14:32: commit [changeset:ecfe66e] Trac #99, osloader mutex unit test update. BEFORE THE osloader.c FIX: Tests Executed: 34 AFTER THE FIX: Tests Executed: 34 |
Trac comment by abrown4 on 2015-07-28 15:09:15: Comment for review: The changes for this issue come down to the premise that it is safer to globally lock the OS_module_table and serialize access during OS_SymbolTableDump(), OS_ModuleLoad(), OS_ModuleUnload(), and OS_ModuleInfo(). If that is not the case then recommend removing these changes and addressing this issue at a later time. |
Trac comment by abrown4 on 2015-08-20 18:29:17: From the above commits, as of #45 [changeset:6a9db70], the white-box unit test still shows that OS_SymbolTableDump(), and OS_ModuleInfo() don't safely access the OS_module_table (5 test failures from osloader_wb test). |
Trac comment by abrown4 on 2015-11-25 12:59:12: Note, after an 8/19 code inspection (#45), [changeset:ab00bb5] removed proposed locking for OS_SymbolTableDump and [changeset:abdf238] removed proposed locking for OS_ModuleInfo. Note, locking is still not present in those functions. Traceability: the remaining osloader.c locking changes are reflected in #138, [changeset:ab2d6d7]. Recommend closure of this issue in favor of #138 with the caveat that several osloader.c functions are (still) not thread-safe. |
The osloader.c functions do not properly protect the OS_module_table, OS_sym_table_file_id, and OS_symbol_table_size with the OS_module_table_mut.
These items are being read from and changed outside of the mutex.
(Discovered as part of #45 coverage testing.)
The text was updated successfully, but these errors were encountered: