Received: by 10.192.165.148 with SMTP id m20csp106208imm; Wed, 9 May 2018 09:30:17 -0700 (PDT) X-Google-Smtp-Source: AB8JxZozwdTMsWLC/gkiUIq/+VXszReorL+mrNuykJu52wulUVb3Drpjd1kKtoCtj06xx/Jzi16U X-Received: by 2002:a17:902:ab8d:: with SMTP id f13-v6mr45770831plr.81.1525883417698; Wed, 09 May 2018 09:30:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525883417; cv=none; d=google.com; s=arc-20160816; b=mXv6tfYRk5iGaE+oZ9cbrnJH6uYdMNcIfbTtnT6qm+3HLi8En1uPaGeBmB/zxSY/Pl S2Lgx5n2JhVkHO9aHsvEGMDFrgI6a2Xqz2M/3JiRD0mn6V2etheQ1WYZOvrmwcx4dHdo 0AgvBvWd22jfLTqrRbYOL+F0O7Hm9/EVOtm+Ap0L2uPWFRSmCq+b7d1m+wA7YV+/vWIT Bx/XfiSGwHxSsQw6FCL7NJfASRmd3rPvY/2BWUVydpiLObwF6fC4/z5zaUbtNgWQ6AEj ys3f7eks6RuMSwVZ4Mt391KJhR57Qsmj1GWpBhUvEU3WFqhdFFsMl/FVrK9ToiNBf5Bh kwQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:to:date:subject:from :arc-authentication-results; bh=1Z/dMMvWt1vJvumxnz5+xtoFn80G0Tsl/bIUtI8jaeg=; b=ITHE/NFPk5mPZYf67yhMh25mKj8EEcLiY4kYkh5ZieF9G4AqXTnDP1n/tyUu6/jio3 qeajDPTGkBxbJP79tUav7rirgza773RGWJ77zpKyN4cjxRfV8SAEVOCNK4ttLh0c2Az2 Q2iYjkz+6DRet5H1hYatwMUDi2JIhjQpmc1Fb8VND3Kn13luwAcnn8YKTyV41p9gQnOB 4RAfu7F6cQfDi6zXTX4erDLHIVd6Ynkq2tSgx/Rhf/r660hKULMCrbpgHkNdYtQtsH+b ZiJ590wCAfP4EjtFvcDJvuj2CStfakSfj+7F81XUssntEone+crKyCaEz7hck3ZMoASL NO7w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=monom.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ay10-v6si24716161plb.120.2018.05.09.09.30.02; Wed, 09 May 2018 09:30:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=monom.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965498AbeEIQ2n (ORCPT + 99 others); Wed, 9 May 2018 12:28:43 -0400 Received: from mail.monom.org ([188.138.9.77]:52434 "EHLO mail.monom.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965012AbeEIQ2m (ORCPT ); Wed, 9 May 2018 12:28:42 -0400 Received: from mail.monom.org (localhost [127.0.0.1]) by filter.mynetwork.local (Postfix) with ESMTP id 7BB9D500C4B; Wed, 9 May 2018 18:28:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.monom.org X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, MISSING_MID autolearn=no autolearn_force=no version=3.4.1 Received: from localhost (ppp-93-104-187-208.dynamic.mnet-online.de [93.104.187.208]) by mail.monom.org (Postfix) with ESMTPSA id BD11C5009BA; Wed, 9 May 2018 18:28:39 +0200 (CEST) From: Daniel Wagner Subject: [ANNOUNCE] 4.4.131-rt148 Date: Wed, 09 May 2018 18:18:49 +0200 To: LKML , linux-rt-users , Steven Rostedt , Thomas Gleixner , Carsten Emde , John Kacur , Sebastian Andrzej Siewior , Daniel Wagner , tom.zanussi@linux.intel.com Message-Id: <20180509162840.7BB9D500C4B@mail.monom.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello RT Folks! I'm pleased to announce the 4.4.131-rt148 stable release. This release add the missing stable-rt patches from Sebastian. With this the v4.4-rt tree should contain all stable-rt patches. Let me knonw if I missed anything. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git branch: v4.4-rt Head SHA1: d103ae2fc7d8e8a3a713dab5eabd6e4e3a1488b3 Or to build 4.4.131-rt148 directly, the following patches should be applied: http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.4.131.xz http://www.kernel.org/pub/linux/kernel/projects/rt/4.4/patch-4.4.131-rt148.patch.xz You can also build from 4.4.131-rt147 by applying the incremental patch: http://www.kernel.org/pub/linux/kernel/projects/rt/4.4/incr/patch-4.4.131-rt147-rt148.patch.xz Enjoy! Daniel Changes from v4.4.131-rt147: --- Daniel Wagner (1): Linux 4.4.131-rt148 Sebastian Andrzej Siewior (2): alarmtimer: Prevent live lock in alarm_cancel() posix-timers: move the rcu head out of the union --- include/linux/posix-timers.h | 2 +- kernel/time/alarmtimer.c | 2 +- kernel/time/posix-timers.c | 4 ++-- localversion-rt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) --- diff --git a/include/linux/posix-timers.h b/include/linux/posix-timers.h index 907f3fd191ac..e2e43c61f6a1 100644 --- a/include/linux/posix-timers.h +++ b/include/linux/posix-timers.h @@ -92,8 +92,8 @@ struct k_itimer { struct alarm alarmtimer; ktime_t interval; } alarm; - struct rcu_head rcu; } it; + struct rcu_head rcu; }; struct k_clock { diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 6fcc367ad531..9d5eac2c9275 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -392,7 +392,7 @@ int alarm_cancel(struct alarm *alarm) int ret = alarm_try_to_cancel(alarm); if (ret >= 0) return ret; - cpu_relax(); + hrtimer_wait_for_timer(&alarm->timer); } } EXPORT_SYMBOL_GPL(alarm_cancel); diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index 48ca053dae2e..0808e2ae49bf 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c @@ -567,7 +567,7 @@ static struct k_itimer * alloc_posix_timer(void) static void k_itimer_rcu_free(struct rcu_head *head) { - struct k_itimer *tmr = container_of(head, struct k_itimer, it.rcu); + struct k_itimer *tmr = container_of(head, struct k_itimer, rcu); kmem_cache_free(posix_timers_cache, tmr); } @@ -584,7 +584,7 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set) } put_pid(tmr->it_pid); sigqueue_free(tmr->sigq); - call_rcu(&tmr->it.rcu, k_itimer_rcu_free); + call_rcu(&tmr->rcu, k_itimer_rcu_free); } static struct k_clock *clockid_to_kclock(const clockid_t id) diff --git a/localversion-rt b/localversion-rt index d3fa072b6b43..857407b62668 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt147 +-rt148