Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp430882yba; Wed, 15 May 2019 04:00:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqxkND2AKHLF9ueP73F9/Xlo/Je7Fd4X1NbDlR+tBRV5ZkGBcARxCgZu0186BDXUxQXHR6wd X-Received: by 2002:a65:44cb:: with SMTP id g11mr43747883pgs.193.1557918046786; Wed, 15 May 2019 04:00:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557918046; cv=none; d=google.com; s=arc-20160816; b=sxTudbiJ/xrV86QiAo4mtVF7b1jrLGSaGbvBdl3VT8m2mClVIG5GnNtsfssXLSLYhs QKmX8zo3IvyJcQWK8Ky8YtjlU20/yNln5HW2UDAqMmpsHRrH1Qo9sPjUkRrwjmQcOTEG ZwrlhIUojG3mer1n3qpPrKMfGTG/scPpCC6Mggme1uh77vDcVGJ60mH4y+DPPY75NI6N IJnV96Ak4tX6nqUklAVEIUkofbf78mRhTleycKk5JagCaehKb2ge9XDw22e0rltPChId yU8GA6x61zK7K/vmzMkErnQHj1BRSFXnsxsuF5qGzt3V6nBg2dz1xrogDXM8qOwLC33s Wtuw== 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=9kfGZ+gPFYeI8rbMz7CxChsKADlVPLCaXeKnZsMPdNY=; b=vPtafiEQlNiEUZiFQ9Q3mA+sbYG8+EmH0IiAESVKvWpeaMxLcC2O26i1UbT9OkLQbu WBLmXqqW5rOived3bvdEw49t8k/1kE25j5I3bvAqPHluvGybSWBWJtbc9Tji8a0P5gCD 0HGpDLUCYeYg+OufO9gth8Fhsfurn3py2UOqTgZT+pXKOcdljhWNIUmBv2kcfd/VIzXW oWOn2IItKUZ7Ok7J0ANJxIKIevv8kH0fAJdWzgruRMxbkbxDtgsUdFD/saf1Bc10XZKn 12msJw7yiJ+PiHA1eSJQbxhaWmmz+rTuJaeeBUzqvkx2J3Ep8Surt/jPcpVPMMeR+V3R 2xLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VtfcCDMa; 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 31si1511907plh.231.2019.05.15.04.00.30; Wed, 15 May 2019 04:00:46 -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=VtfcCDMa; 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 S1726999AbfEOK6x (ORCPT + 99 others); Wed, 15 May 2019 06:58:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:55182 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726976AbfEOK6t (ORCPT ); Wed, 15 May 2019 06:58:49 -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 A4FBC20843; Wed, 15 May 2019 10:58:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557917929; bh=7zboopaMA9k2DkNa3WQVgftBt5PDHUj8PJczGXoSEN0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VtfcCDMa3jQFQjnu0TvpQOcGT3DiqvVrWTDycaAIJyR7NXeQE7NYBmcGt5y5IhYAw yT1gZJcFwG0Xj5ievWK6SYWMduNn7/Wxwtt1rFKIqUxUJjmlBvH1CTJFv91j97y09N 0iB2Bm9jVLD650Z+9UMNos5rU1V7gqSmOfwYcF70= 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 3.18 29/86] ipv6: invert flowlabel sharing check in process and user mode Date: Wed, 15 May 2019 12:55:06 +0200 Message-Id: <20190515090648.566210140@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190515090642.339346723@linuxfoundation.org> References: <20190515090642.339346723@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 @@ -629,9 +629,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;