Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2311626imm; Mon, 28 May 2018 05:53:36 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKXGvHcJXcyokG4fF+bz42d8SZdwXpztyi+VD3ZFBj1DJAKRZ/pMKxNIyhF+v+MvJ+Jr1gJ X-Received: by 2002:a63:a702:: with SMTP id d2-v6mr5273599pgf.246.1527512016032; Mon, 28 May 2018 05:53:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527512016; cv=none; d=google.com; s=arc-20160816; b=jqsOwZfEiPX+vux2667RP08OamoMHTw1HqaykKZyQuJ7rW5MyqMw4/rw+a9WyHhjCq jSxahDxlWi64Iwk+InkGeeLnWzamAIeuIIXkYoTyZyc3JM5UWS/r1uhCL/eoyd/+mvAU iJeZ3v5SNipfJeRD2/5prO0tzsSjs1clNYEuT8W47e878+cqEh2hhpevLXQPeh6bgunu a8nNwjlus+tzLn4XbDI0fJrZrRaH/g6HpygISpoD53LS7L15LlZeSz6KpPY9nZcIrb15 ETBScVUtZ6ur6ccTSmMcTnOFyXnNclCWmSMM/e+sEb3OsuM3rHVnMjBtBODnzmqmq/aN yacQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=VT1lG07AWDvoCVRVjQuxGoxwv6xfbW61qB9m4OOAF1w=; b=h32sLlZcO8E5HbXaIm52kqkkxXmpCLNLDrP9FY9eZvU7A3tlP4xYq9KceN+IL50MPH osyuDuOhecVVsLuRQ2M3zMgTs1q7F+T5YArk4rNhKE4OTq2OAvc2lZkmwOy2R6/JfKcs bSEkPVIuqU5nBLmAxi6k/XsmhmqkG1MjB6k/N6abGXdZsx0pGg5gk9aqG+9NO7YvbLot 8Frgz5R7qkE3vIJmNIpK31umnWyxCHNu/Xgtze44f8s0XOCGbvAfkOkrfv8bPvsN4OZ6 Svt8VzkZlAo+xTalrDLSSU0x1nDeSzNRPDhTcsHwqJ0S/JqG7DRm8g1w3FUaPHwXvleC sLXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TUuTPao3; 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 m19-v6si29801709pff.303.2018.05.28.05.53.21; Mon, 28 May 2018 05:53:36 -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=TUuTPao3; 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 S1164469AbeE1Mw3 (ORCPT + 99 others); Mon, 28 May 2018 08:52:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:44368 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1164439AbeE1Kzw (ORCPT ); Mon, 28 May 2018 06:55:52 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 4842620899; Mon, 28 May 2018 10:55:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527504951; bh=P5fI0Ak9t8/SZzBiX1jZJ4llCt/0etd64YVHri3LfTI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TUuTPao3FUR/BOBcSpW0I8ZsvzKqznJt4cuAriOSQYum6rZ+NPuEb/WnN/tUd44Zo bMVJ7nQl6mVB4KF7SQGGF8ZsF1uc1Kl8DdWwfiv8V6kNhIFc2kf+kqNXrbCjxuDlIL EHTtV/qBPf6MvYuUYcJ2lRx8oxTvHKPSrtTy352Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jamal Hadi Salim , Davide Caratti , "David S. Miller" , Sasha Levin Subject: [PATCH 4.14 279/496] net/sched: fix idr leak on the error path of tcf_bpf_init() Date: Mon, 28 May 2018 12:01:04 +0200 Message-Id: <20180528100331.606177007@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Davide Caratti [ Upstream commit bbc09e7842a5023ba5bc0f8d559b9dd464e44006 ] when the following command sequence is entered # tc action add action bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' index 100 RTNETLINK answers: Invalid argument We have an error talking to the kernel # tc action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 100 RTNETLINK answers: No space left on device We have an error talking to the kernel act_bpf correctly refuses to install the first TC rule, because 31 is not a valid instruction. However, it refuses to install the second TC rule, even if the BPF code is correct. Furthermore, it's no more possible to install any other rule having the same value of 'index' until act_bpf module is unloaded/inserted again. After the idr has been reserved, call tcf_idr_release() instead of tcf_idr_cleanup(), to fix this issue. Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR") Acked-by: Jamal Hadi Salim Signed-off-by: Davide Caratti Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- net/sched/act_bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c @@ -356,7 +356,7 @@ static int tcf_bpf_init(struct net *net, return res; out: if (res == ACT_P_CREATED) - tcf_idr_cleanup(*act, est); + tcf_idr_release(*act, bind); return ret; }