[Openmp-commits] [PATCH] D96893: [OpenMP] libomp minor cleanup
Andrey Churbanov via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Wed Feb 17 13:16:12 PST 2021
AndreyChurbanov created this revision.
AndreyChurbanov added reviewers: hbae, jlpeyton, tlwilmar, Nawrin.
AndreyChurbanov added a project: OpenMP.
Herald added subscribers: guansong, yaxunl.
AndreyChurbanov requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: openmp-commits, sstefan1.
Some minor cleanup changes:
- check value read from file;
- remove dead code;
- make unsigned variable to read hexadecimal number to;
- add debug assertion to check ref count.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D96893
Files:
openmp/runtime/src/kmp_affinity.cpp
openmp/runtime/src/kmp_runtime.cpp
openmp/runtime/src/kmp_taskdeps.h
Index: openmp/runtime/src/kmp_taskdeps.h
===================================================================
--- openmp/runtime/src/kmp_taskdeps.h
+++ openmp/runtime/src/kmp_taskdeps.h
@@ -25,6 +25,7 @@
return;
kmp_int32 n = KMP_ATOMIC_DEC(&node->dn.nrefs) - 1;
+ KMP_DEBUG_ASSERT(n >= 0);
if (n == 0) {
KMP_ASSERT(node->dn.nrefs == 0);
#if USE_FAST_MEMORY
Index: openmp/runtime/src/kmp_runtime.cpp
===================================================================
--- openmp/runtime/src/kmp_runtime.cpp
+++ openmp/runtime/src/kmp_runtime.cpp
@@ -6525,7 +6525,7 @@
file_name = tail;
if (tail != NULL) {
long *flag_addr = 0;
- long flag_val = 0;
+ unsigned long flag_val = 0;
KMP_SSCANF(flag_addr_str, "%p", RCAST(void**, &flag_addr));
KMP_SSCANF(flag_val_str, "%lx", &flag_val);
if (flag_addr != 0 && flag_val != 0 && strcmp(file_name, "") != 0) {
Index: openmp/runtime/src/kmp_affinity.cpp
===================================================================
--- openmp/runtime/src/kmp_affinity.cpp
+++ openmp/runtime/src/kmp_affinity.cpp
@@ -2164,6 +2164,10 @@
// FIXME - this will match "node_<n> <garbage>"
unsigned level;
if (KMP_SSCANF(buf, "node_%u id", &level) == 1) {
+ // validate the input fisrt:
+ if (level > (unsigned)__kmp_xproc) { // level is too big
+ level = __kmp_xproc;
+ }
if (nodeIdIndex + level >= maxIndex) {
maxIndex = nodeIdIndex + level;
}
@@ -4336,8 +4340,6 @@
depth = __kmp_affinity_create_hwloc_map(&address2os, &msg_id);
if (depth == 0) {
KMP_EXIT_AFF_NONE;
- } else if (depth < 0 && __kmp_affinity_verbose) {
- KMP_INFORM(AffIgnoringHwloc, "KMP_AFFINITY");
}
} else if (__kmp_affinity_verbose) {
KMP_INFORM(AffIgnoringHwloc, "KMP_AFFINITY");
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96893.324402.patch
Type: text/x-patch
Size: 1889 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210217/75173e4b/attachment.bin>
More information about the Openmp-commits
mailing list