From patchwork Tue Jul 14 19:15:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexei Starovoitov X-Patchwork-Id: 495209 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 0331C14010F for ; Wed, 15 Jul 2015 05:15:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752683AbbGNTP2 (ORCPT ); Tue, 14 Jul 2015 15:15:28 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:35467 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752395AbbGNTP1 (ORCPT ); Tue, 14 Jul 2015 15:15:27 -0400 Received: by pactm7 with SMTP id tm7so10219869pac.2 for ; Tue, 14 Jul 2015 12:15:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=KoKKoyl42P/iDKRwIRo7dBBZfqzQsr/CNlz3UJekqXc=; b=LLUHJCXrJMi3LzeUCc2xZQjn8+ZaocUxqt2nUlm5rbIMFsx0/BVXWUSJNfiHA6fAgD e7NlgvSOdz9T5A8ibhCJ2xvZ7q/ljU+ciC3PmN+e85gqEgLkufbzEhIGesCi5jy+xCkd heCcFhTQ/esC++A3HUSLUo0ZONSUwwcJc6WXJhaH2BwNj/nLO5wkTf35byy8kq59ilXg wYQKf4C058KxqnEh6FtcZM8PkO2astUeDn6EpHHfUPGE5J3OpSSAicitHt6KMU3vLEVg AJg8ThjzeLUOD7E0GLsQDVXaIWDkFKWgtjbv940phgMtsBesnxOTShOeP/wgWoOxMRnX jMsg== X-Gm-Message-State: ALoCoQlBp0m8hPbl03VDYocRnFVvgTKH0y3EI+Y89fcNawVKMvk7CWoycWzgtP7YzaJewLlXJq3N X-Received: by 10.68.203.197 with SMTP id ks5mr248065pbc.51.1436901326588; Tue, 14 Jul 2015 12:15:26 -0700 (PDT) Received: from localhost.localdomain ([12.229.56.227]) by smtp.gmail.com with ESMTPSA id fe10sm2150157pdb.59.2015.07.14.12.15.25 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 14 Jul 2015 12:15:25 -0700 (PDT) From: Alexei Starovoitov To: "David S. Miller" Cc: Daniel Borkmann , Jiri Pirko , netdev@vger.kernel.org Subject: [PATCH net] tc: act_bpf: fix memory leak Date: Tue, 14 Jul 2015 12:15:19 -0700 Message-Id: <1436901319-705-1-git-send-email-ast@plumgrid.com> X-Mailer: git-send-email 1.7.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org prog->bpf_ops is populated when act_bpf is used with classic BPF and prog->bpf_name is optionally used with extended BPF. Fix memory leak when act_bpf is released. Fixes: d23b8ad8ab23 ("tc: add BPF based action") Fixes: a8cb5f556b56 ("act_bpf: add initial eBPF support for actions") Acked-by: Daniel Borkmann Signed-off-by: Alexei Starovoitov --- net/sched/act_bpf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c index 1d56903fd4c7..1df78289e248 100644 --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c @@ -339,6 +339,9 @@ static void tcf_bpf_cleanup(struct tc_action *act, int bind) bpf_prog_put(prog->filter); else bpf_prog_destroy(prog->filter); + + kfree(prog->bpf_ops); + kfree(prog->bpf_name); } static struct tc_action_ops act_bpf_ops __read_mostly = {