Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2550645yba; Mon, 6 May 2019 07:53:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqw6k2w7leawuVErw7GvXVnvFUVNG3aa8lgcsAQyaK+riq6bL/kYk3KQ51WuIWx5sqHB58gb X-Received: by 2002:a65:644e:: with SMTP id s14mr33139126pgv.290.1557154402059; Mon, 06 May 2019 07:53:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557154402; cv=none; d=google.com; s=arc-20160816; b=r63nMmfhKLHcqxgBbal23MQfw3bqrdqXDYNlxyXk6Qd6Ht39Saxpydwba7hwaZG1eb 9IT2k31a0EGd2WsCxUBiLP8p3s16omkPPT73d1IdaycbEl0WYQxZG+h5MNkgPzfEmIlH 6ANdlDnPFq7P05Pibdy7tBpJzUX98LSGrAThkhzURxpuV6cE+gNM7jtsD+pEkyIMuzRh t5Ppui/aAxp+Nsz+dXmd6f0kxBYogxKhLTbD0D98msIecCpCY61DhGjQwbAkjXTiNa9r P01tWs1p6RoQi5Y08vufyYM6AlXlFxhFIoRrsqN0ttjG1TFxEcEYMQJEmJIgw5b4Y5oy AC3g== 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=Z7jHkwRLp//SBoowgRwmY6PMPjYKNQpEGr7NdHhoEdk=; b=fyRLJQy3A8kqQm3WAqsk/P2m8oxjQe0vP0zgKdjrF/uh4F8Os7eECb5ssjirUvGNEE mFvc0HdZ+UZyQF3RWKsT1RRcIJOHphHR/AloNMucuQk1hXjrFW++SVnq7lb0F5JpR/qn dNHUayEDoRR6W/PfOdz75JidTrwK7ZeQXtpdBYF6Z9dMLcJNVkNVIPIQxEbv0rVKekC4 NoUzbtQW5ofNyJq0W3/manqdUtV+JwK9opn5e+CGgCPiylyFEdG+7BYFf7pgfOflZ+Rh CBrGzL5sS4bFUbCja3XcB5NqVIhTrvrpa49t3HADVgjO7JPdJiRWF3UIJSgQN4W7a8uP qRrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iWNAqFnA; 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 p1si1845502plr.220.2019.05.06.07.53.06; Mon, 06 May 2019 07:53:22 -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=iWNAqFnA; 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 S1729446AbfEFOsW (ORCPT + 99 others); Mon, 6 May 2019 10:48:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:48496 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729434AbfEFOsT (ORCPT ); Mon, 6 May 2019 10:48:19 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 45B91205ED; Mon, 6 May 2019 14:48:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557154098; bh=CIKD/B1Zm0gtqABATy0oarRntlk7GQ5gB5VoW1963I4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iWNAqFnA04PK5r4bubQqfHeKemj+vRCSgE8o7kiM5T3fK6uC3h4IOHaSNoVMQd63c ez/qbxAmpEPntDK3P1J9iKqH7YtEsSYbmcwmcCm8c1qwHZkgg4uMGR/OPVLXJ6MyIl H/rkxyEbFxx74GjjCJTPIWgYlzK4SHOP7vVE0QWU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Willem de Bruijn , "David S. Miller" Subject: [PATCH 4.9 04/62] ipv6: invert flowlabel sharing check in process and user mode Date: Mon, 6 May 2019 16:32:35 +0200 Message-Id: <20190506143051.480285593@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190506143051.102535767@linuxfoundation.org> References: <20190506143051.102535767@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: Willem de Bruijn [ Upstream commit 95c169251bf734aa555a1e8043e4d88ec97a04ec ] A request for a flowlabel fails in process or user exclusive mode must fail if the caller pid or uid does not match. Invert the test. Previously, the test was unsafe wrt PID recycling, but indeed tested for inequality: fl1->owner != fl->owner Fixes: 4f82f45730c68 ("net ip6 flowlabel: Make owner a union of struct pid* and kuid_t") Signed-off-by: Willem de Bruijn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/ip6_flowlabel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c @@ -640,9 +640,9 @@ recheck: if (fl1->share == IPV6_FL_S_EXCL || fl1->share != fl->share || ((fl1->share == IPV6_FL_S_PROCESS) && - (fl1->owner.pid == fl->owner.pid)) || + (fl1->owner.pid != fl->owner.pid)) || ((fl1->share == IPV6_FL_S_USER) && - uid_eq(fl1->owner.uid, fl->owner.uid))) + !uid_eq(fl1->owner.uid, fl->owner.uid))) goto release; err = -ENOMEM;