Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp2254934ybg; Sun, 27 Oct 2019 14:29:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzUaVnb6A1csYqxYgGoxCej6wNCBUzI3HLcNSIba396iV/aWLRB0tBQDs/7BntMu0+JDIzp X-Received: by 2002:a17:906:e2cb:: with SMTP id gr11mr13960779ejb.205.1572211797582; Sun, 27 Oct 2019 14:29:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572211797; cv=none; d=google.com; s=arc-20160816; b=xBrCb368DvrWSSER9+XFqLKVuS9Skf8A5dDy8S/KNo/HQNlEJ8xrs/x3uI140MOXZG n/e0sMmW6TM6rcmGwWmeIL8MCCDMCZeTEZmSdPcScu4c2hzm+eBirYBP65Xju35to4ww 0gXKir/lIyeqiQdZwHBlWbD7aITkGUxScyvfko+h5OZn0vILdzJ8M2/37HTLX33mwuUu 2JuU85wWjk/N69eRNlLK6dtc3KXwL2lqxM5nfexf2QuSfNgmgBOMzhrHeppkdjkcASC1 iq+hErnH8OXrQLq+vybRb0uVOF2BT137b/27b+3AjEDbgz+T+QntI21o356kjBMWBDft bwHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LMPDndi9sNXW2eNL6F16n5wuN+vzFeOGdz/XskaDftc=; b=SWrouBK6dLnsUDTSYrqwmgwPKUf0cKTHrCFmnEYM5lZYCK8iS55yJex03V/7vsBReG tzMTLSwSvtTdhuUfqaWDO5qJU6eNLcg8383FkHq2cE/NYaTvKXlM7W7zb3CmWWxi4BkU T9OVbOy4RDXdiVy7b6hHvB75WvapXE/3O/wigsUggotuJH+SF0ldK/kCDuDWyr5/Kqeg B0Ttqe6Goiq0Adh23f5gTdc/ZC+Ws4puBQG1pVQJnBqogj4Owozx46Go4h5vl63NyrFA FUKfBbkuXNWsNMtaG095awv/5xw51a1xmuYKf33Llf2mvUaMHOk2GcyS8taRpNFo21Kx KB2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZtuAxAG7; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j15si4206502eja.168.2019.10.27.14.29.33; Sun, 27 Oct 2019 14:29:57 -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; dkim=pass header.i=@kernel.org header.s=default header.b=ZtuAxAG7; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732050AbfJ0V0G (ORCPT + 99 others); Sun, 27 Oct 2019 17:26:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:47982 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732850AbfJ0V0D (ORCPT ); Sun, 27 Oct 2019 17:26:03 -0400 Received: from localhost (100.50.158.77.rev.sfr.net [77.158.50.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6E88D21D80; Sun, 27 Oct 2019 21:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572211563; bh=zJJ8f/jSEkfvId2/8PLTXAWRo/PhgYsPR5zxT/49t4Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZtuAxAG7YJUZhy200SddT/tl6yVdNcE9qo4hlycWoaO842Xlkw6aEZ4nuIxDtGXqs R29w69VK5hgGGVM021oak7Prmuc8HJPO3yYd2IcpUwLbmOckrUyzwLBdQMT79KPP5C S/akNwiPaariIf5Bwrs1C07ddUDaIos8G+xum044= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tejun Heo , Josef Bacik , Jens Axboe Subject: [PATCH 5.3 196/197] blk-rq-qos: fix first node deletion of rq_qos_del() Date: Sun, 27 Oct 2019 22:01:54 +0100 Message-Id: <20191027203407.066172421@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191027203351.684916567@linuxfoundation.org> References: <20191027203351.684916567@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tejun Heo commit 307f4065b9d7c1e887e8bdfb2487e4638559fea1 upstream. rq_qos_del() incorrectly assigns the node being deleted to the head if it was the first on the list in the !prev path. Fix it by iterating with ** instead. Signed-off-by: Tejun Heo Cc: Josef Bacik Fixes: a79050434b45 ("blk-rq-qos: refactor out common elements of blk-wbt") Cc: stable@vger.kernel.org # v4.19+ Signed-off-by: Jens Axboe Signed-off-by: Greg Kroah-Hartman --- block/blk-rq-qos.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) --- a/block/blk-rq-qos.h +++ b/block/blk-rq-qos.h @@ -103,16 +103,13 @@ static inline void rq_qos_add(struct req static inline void rq_qos_del(struct request_queue *q, struct rq_qos *rqos) { - struct rq_qos *cur, *prev = NULL; - for (cur = q->rq_qos; cur; cur = cur->next) { - if (cur == rqos) { - if (prev) - prev->next = rqos->next; - else - q->rq_qos = cur; + struct rq_qos **cur; + + for (cur = &q->rq_qos; *cur; cur = &(*cur)->next) { + if (*cur == rqos) { + *cur = rqos->next; break; } - prev = cur; } blk_mq_debugfs_unregister_rqos(rqos);