From patchwork Fri Jul 13 15:11:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 943641 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=oracle.com header.i=@oracle.com header.b="TG8NDPPq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41Rx9r5Sz2z9s2M for ; Sat, 14 Jul 2018 01:12:16 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729772AbeGMP1R (ORCPT ); Fri, 13 Jul 2018 11:27:17 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:48538 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729643AbeGMP1R (ORCPT ); Fri, 13 Jul 2018 11:27:17 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w6DF5Sp8171917; Fri, 13 Jul 2018 15:11:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : mime-version : content-type; s=corp-2018-07-02; bh=siORGa2McVJM+3PfNFXLkBBQAcdhbWfgKJyWiaO92y0=; b=TG8NDPPqEbIXJrr6o/lZ+36L0qKri5T0wzGyflihAucRBAzqJZs7NZAtx0MhN19itO92 ap5Tlh7hF7okfgwZ9je3Pxn39VmgFOFuoQ1cCdQDJmwBzO0AjujHP6l3WcOcEomN4bxf x9214s3m4uQt2QMyvFX3QXzpqEb9vM6lEwDvFpyjX2r2YA84SpTAi/FTznB1ngP3WtFZ SQ0dKsjyUA5R+BTAmsI3kWxos12WZ8fGzfNa6NiXk1nOE8YtZ3wF87xB/GUeho9X3anZ 1lXIxZP+8+D4LUPKISCQtlMow6kXz94d0qq3JHzWn55SstkrOcQHzSHunSCMm89h9okx 6Q== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp2120.oracle.com with ESMTP id 2k2p7e88x7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jul 2018 15:11:53 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w6DFBq2W026043 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jul 2018 15:11:53 GMT Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w6DFBquC022505; Fri, 13 Jul 2018 15:11:52 GMT Received: from kili.mountain (/41.202.241.35) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 13 Jul 2018 08:11:51 -0700 Date: Fri, 13 Jul 2018 18:11:39 +0300 From: Dan Carpenter To: Alexei Starovoitov Cc: Daniel Borkmann , netdev@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH 1/2] samples: bpf: ensure that we don't load over MAX_PROGS programs Message-ID: <20180713151139.aiqginrahbimfsop@kili.mountain> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8953 signatures=668706 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=966 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807130129 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org I can't see that we check prog_cnt to ensure it doesn't go over MAX_PROGS. Signed-off-by: Dan Carpenter diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c index 89161c9ed466..904e775d1a44 100644 --- a/samples/bpf/bpf_load.c +++ b/samples/bpf/bpf_load.c @@ -107,6 +107,9 @@ static int load_and_attach(const char *event, struct bpf_insn *prog, int size) return -1; } + if (prog_cnt == MAX_PROGS) + return -1; + fd = bpf_load_program(prog_type, prog, insns_cnt, license, kern_version, bpf_log_buf, BPF_LOG_BUF_SIZE); if (fd < 0) {