https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
Andrew Pinski changed:
What|Removed |Added
CC||dimitri at ouroboros dot rocks
--- Comm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #18 from Stas Sergeev ---
(In reply to Stas Sergeev from comment #5)
> And its running on a stack previously
> poisoned before pthread_cancel().
And the reason for that is because
the glibc in use is the one not built
with -fsanitiz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #17 from Stas Sergeev ---
I sent the small patch-set here:
https://lore.kernel.org/lkml/20220126191441.3380389-1-st...@yandex.ru/
but it is so far ignored by kernel developers.
Someone from this bugzilla should give me an
Ack or Revi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #16 from Stas Sergeev ---
I think I'll propose to apply something like this to linux kernel:
diff --git a/kernel/signal.c b/kernel/signal.c
index 6f3476dc7873..0549212a8dd6 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -4153
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #15 from Stas Sergeev ---
(In reply to Martin Liška from comment #14)
> Please report to upstream as well.
I'd like some guidance on how should that
be addressed, because that will allow to
specify the upstream.
I am not entirely su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #14 from Martin Liška ---
(In reply to Stas Sergeev from comment #13)
> Found another problem.
> https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_posix.
> cpp#L53
> The comment above that line talks about
> SS_AUT
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #13 from Stas Sergeev ---
Found another problem.
https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_posix.cpp#L53
The comment above that line talks about
SS_AUTODISARM, but the line itself does
not account for any f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
Andrew Pinski changed:
What|Removed |Added
CC||contino at epigenesys dot com
--- Comme
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #11 from Stas Sergeev ---
The third bug here seems to be
that __asan_handle_no_return:
https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_rtl.cpp#L602
also calls sigaltstack() before
unpoisoning stacks. I believe th
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #10 from Martin Liška ---
(In reply to Stas Sergeev from comment #9)
> (In reply to Martin Liška from comment #8)
> > Please report the problem to upstream libsanitizer project:
> > https://github.com/llvm/llvm-project/issues
>
> I
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #9 from Stas Sergeev ---
(In reply to Martin Liška from comment #8)
> Please report the problem to upstream libsanitizer project:
> https://github.com/llvm/llvm-project/issues
I already did:
https://github.com/google/sanitizers/issu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
Martin Liška changed:
What|Removed |Added
Status|WAITING |NEW
--- Comment #8 from Martin Liška --
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #7 from Stas Sergeev ---
Created attachment 52221
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52221&action=edit
test case
This is a reproducer for both problems.
$ cc -Wall -o bug -ggdb3 -fsanitize=address bug.c -O1
to see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #6 from Stas Sergeev ---
I think the fix (of at least 1 problem here)
would be to move this line:
https://code.woboq.org/gcc/libsanitizer/asan/asan_thread.cc.html#109
upwards, before this:
https://code.woboq.org/gcc/libsanitizer/asan
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #5 from Stas Sergeev ---
Another problem here seems to be
that pthread_cancel() doesn't unpoison
the cancelled thread's stack.
This causes dtors to run on a
randomly poisoned stack, depending
on where the cancellation happened.
That
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #4 from Stas Sergeev ---
Thread 3 "X ev" hit Breakpoint 4, __sanitizer::UnsetAlternateSignalStack () at
../../../../libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:190
190 void UnsetAlternateSignalStack() {
(gdb) n
194
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
--- Comment #3 from Stas Sergeev ---
Why does it check for a redzone
on a non-leaf function? GetAltStackSize()
calls to a glibc's getconf and that
overwrites a canary.
Maybe it shouldn't use/check the redzone
on a non-leaf function?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
Stas Sergeev changed:
What|Removed |Added
CC||stsp at users dot
sourceforge.net
--- C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476
Martin Liška changed:
What|Removed |Added
Status|UNCONFIRMED |WAITING
Ever confirmed|0
19 matches
Mail list logo