Date: Sun, 6 Apr 2025 22:51:13 GMT From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 51489b9ced27 - stable/14 - ktrace: Use STAILQ_EMPTY_ATOMIC when checking for records in userret() Message-ID: <202504062251.536MpDJ4077151@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=51489b9ced27afdf9ea34edc65c8c31274ccc9c5 commit 51489b9ced27afdf9ea34edc65c8c31274ccc9c5 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2025-03-23 11:54:59 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2025-04-06 13:54:13 +0000 ktrace: Use STAILQ_EMPTY_ATOMIC when checking for records in userret() As in commit 36631977d8c9, this check is unlocked and may trigger spurious assertion failures. Use STAILQ_EMPTY_ATOMIC() here as well. Fix nearby whitespace. Reported by: syzkaller Reviewed by: olce Fixes: 34740937f7a4 ("queue: New debug macros for STAILQ") MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49441 (cherry picked from commit e9a846468acfbba35ca40b888670559aaff7228d) --- sys/sys/ktrace.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/sys/ktrace.h b/sys/sys/ktrace.h index 2618c7c719b3..b615d82d2198 100644 --- a/sys/sys/ktrace.h +++ b/sys/sys/ktrace.h @@ -89,10 +89,9 @@ struct ktr_header { * is the public interface. */ #define KTRCHECK(td, type) ((td)->td_proc->p_traceflag & (1 << type)) -#define KTRPOINT(td, type) (__predict_false(KTRCHECK((td), (type)))) -#define KTRCHECKDRAIN(td) (!(STAILQ_EMPTY(&(td)->td_proc->p_ktr))) +#define KTRPOINT(td, type) (__predict_false(KTRCHECK((td), (type)))) #define KTRUSERRET(td) do { \ - if (__predict_false(KTRCHECKDRAIN(td))) \ + if (__predict_false(!STAILQ_EMPTY_ATOMIC(&(td)->td_proc->p_ktr))) \ ktruserret(td); \ } while (0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202504062251.536MpDJ4077151>