From patchwork Tue Apr 25 18:48:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Gleixner X-Patchwork-Id: 8649 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp3609830vqo; Tue, 25 Apr 2023 12:01:15 -0700 (PDT) X-Google-Smtp-Source: AKy350YRVpGXGeq//XNAvvXHh2YDlN6tl8nzywob6JabpBxZjOpQwfhqwaHxJ8ohwgoXgjoECHNi X-Received: by 2002:a05:6a20:748a:b0:ee:9647:45fa with SMTP id p10-20020a056a20748a00b000ee964745famr20655943pzd.20.1682449274737; Tue, 25 Apr 2023 12:01:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682449274; cv=none; d=google.com; s=arc-20160816; b=Rrv8jP2aY8zp9fdz8KvNN6h+LWZvPAUt0oLhdNjZtcEiPNrr+c1bmfm5QtpG5+lxBx Ls2rwxdF4zQRhxx8nzNWkPSELukd/wltNwZ1/bAhCIiSN1t/8pIgGi9Yuw/Ktw3qyXH8 BKcy4fPynh65orqnEZChYtlBJ6gNH0Qrj7b6zyGRRFHXkVZtLrDBORRTRPS/4h/lvoBs 5aGD/0FQvhbLJHBffgRZMKcaLhJOb35VcezP/X+/gqd6DP3ob/xkcNEhUSOKfilUXKtQ q5qFfOS7vCjfOsSCm3WcHub/pgPi4x3cSXcihbDaQoqWVnbYQBPuhXU/eueCm7Vq80b0 zi+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:subject:cc:to:from:dkim-signature :dkim-signature:message-id; bh=yIOPgPMU2Byq9FIQh9CetuDY5vSUSLh17oBNeM4tOuM=; b=Gus/DJ4ZuRVgMjxsz5hJMoLZG1wEmAEo1v66BOt3pSyswoSpyBDmKYjgA9jMLY6dN+ +Nm7uTgTIK/dQJz9mFCammecV1ayRpz0kXLzZKlSBFySSevD56hkj0mIjVuYWlFW7ydn 2wujPDej4lvnu2OVT2xOGa4b1JWdiKsd1EA2MxsJ/egfKkL5dnsF+maGNmJBRyECyE8d UTsnia5j05PLs3RCOhR4MppYFCbb2FgwgysUGB8HycgiMt5YtZFO7jjZMHXQCRihNpOZ 7mhceQepwn+XM0SAob0OCRfD4+caZUaGZlRg9Oj0he2IQh2oYIz71KunFEnGe4k65CeX tKFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=Q7KpO9S9; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=1ofOAtD2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j191-20020a638bc8000000b0051f8b655dfcsi13923617pge.19.2023.04.25.12.01.01; Tue, 25 Apr 2023 12:01:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=Q7KpO9S9; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=1ofOAtD2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234695AbjDYStI (ORCPT + 99 others); Tue, 25 Apr 2023 14:49:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234373AbjDYStF (ORCPT ); Tue, 25 Apr 2023 14:49:05 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E6C5F16F38 for ; Tue, 25 Apr 2023 11:48:58 -0700 (PDT) Message-ID: <20230425181827.219128101@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1682448536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=yIOPgPMU2Byq9FIQh9CetuDY5vSUSLh17oBNeM4tOuM=; b=Q7KpO9S9Qy1OKRhI3+ZciIEtNlVpVhp1KWmgtnPiAYTDFVdWPCtao9Jov7PvP2D1xkjl// UdLdE/IwhheCAvEJdoTOLnKr1JqNeoguBYX/GlnNuUjKs9oC7zZXDR9Eea6dpGR5stfFHZ ZFA6d7pTB2GXMY0hLhGzjy9TbAgp9oVu8tCKHBe5KJNCu1R1if5UY3r93ZPn1POVqwBETT pSRDrU3PXA/3oEcFMXWLec41O2zJo88lY5gzPxrZI6CNljnYLJD9n0stcQepwaT3rFzr2S hY/uvpjNkFP47ROQ7nwaaBZU5OB6Bipn4hSVIIzFeducT9wRrdrhLhoJQl1DnA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1682448536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=yIOPgPMU2Byq9FIQh9CetuDY5vSUSLh17oBNeM4tOuM=; b=1ofOAtD2TfK3E8fNXwBEzr5oynzoO7kDcTjCxittXWe1U+xDbWVicRqWr6x2SmkJxFRCxJ x1xKqND+jNR3GFCw== From: Thomas Gleixner To: LKML Cc: Frederic Weisbecker , Anna-Maria Behnsen , Peter Zijlstra , Sebastian Siewior , syzbot+5c54bd3eb218bb595aa9@syzkaller.appspotmail.com, Dmitry Vyukov , Michael Kerrisk Subject: [patch 00/20] posix-timers: Fixes and cleanups Date: Tue, 25 Apr 2023 20:48:55 +0200 (CEST) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764175930540654567?= X-GMAIL-MSGID: =?utf-8?q?1764175930540654567?= Hi! A recent syzcaller/KCSAN report about a data race and an actually broken loop termination due to that race made me look deeper into the posix timer code. Aside of the loop termination issue this unearthed another issue in the exit() path where timer deletion might livelock on RT enabled kernels. While going through the code with a fine comb, I stumbled over another place which needs READ/WRITE_ONCE() annotations, tons of outdated and/or uncomprehensible comments and a bunch of silly code. The series has therefore a larger set of cleanups on top of the two fixes. It is based on git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core and also availble from git: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/posix Thanks, tglx --- include/linux/sched/signal.h | 2 kernel/time/posix-timers.c | 523 ++++++++++++++++++++++++++----------------- 2 files changed, 321 insertions(+), 204 deletions(-)