Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp989587imj; Sat, 9 Feb 2019 12:38:24 -0800 (PST) X-Google-Smtp-Source: AHgI3IbSOzhG6iKhtMkTBqcD83QwRgtG3KXyW7WN3Ms4ZWIXFmpsLkRszGUo4TVMyaSwuT2t5o8J X-Received: by 2002:a63:235c:: with SMTP id u28mr11717392pgm.400.1549744704747; Sat, 09 Feb 2019 12:38:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549744704; cv=none; d=google.com; s=arc-20160816; b=D/v64dXuKElO4NZElTMX9WRdJiu5zJpUoJj3MqnXJwaCLFVXtS6e5YkA688pM7Lyve XXcfNaLUOio2oFj0AZoGZO26a28NijLxhAzkZqNJnudRtzFx2+tQ8jpUaP9F2mOMn9Ab WFKfkBZqXSSkKPLWS3/ogJYG1XHXGQi8FDaXDvpZhBQ01pEqMszVoKW6F/T+48P8UIKl cG/VlES/iLQpeOcB7RfY8UF5xTpkZGIUAG06GiCSxmggSFFbRz65c9hVv8VqjLATA9Xd vq7pbcMwMSXqamP4w4xUUiDQo8D1tKzeklRyykND+hFcoQ/6um49TXfCrRflkQTgVhgj cURg== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=APhSD+PqtpJXFHU2VJSOwBXtyiRVtTxs2XUJJDme/Hk=; b=UB6kMU0qsRwNxjC9Uk0xE5zRWJQcLaTzgQOVvCare73dY6dksMOUoGLhLab4jHPd4S d7lWwwwZLraW1EZ23Ch2BfxCwuAy7DhYjMfqnWBg+7SQ1giXPTYSkeb83LS6MgLYe+kK fl898xmPzdRBC3svpOw9Dh6uDWJy5U6A8AmatvlWd07BTPIkZSi984IfUnbpYuEWDIeM s20N58G7KNg19QDNeBArI3l0pQDJ/fITdIRwnbFZ668cwFHkyqY9e2ZIBwbk+b0fhFvj 4Hf2gi6StKZIZmDLfW/vjzNqwDCanT8upZJGEq2DcdbVACnKVXa7TDwsYMT2HcnSBdwz bAWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dectris.com header.s=google header.b=sJ1P0I7Y; 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 126si6062090pff.77.2019.02.09.12.38.09; Sat, 09 Feb 2019 12:38:24 -0800 (PST) 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=@dectris.com header.s=google header.b=sJ1P0I7Y; 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 S1727003AbfBIUh7 (ORCPT + 99 others); Sat, 9 Feb 2019 15:37:59 -0500 Received: from mail-ed1-f66.google.com ([209.85.208.66]:39201 "EHLO mail-ed1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726907AbfBIUh6 (ORCPT ); Sat, 9 Feb 2019 15:37:58 -0500 Received: by mail-ed1-f66.google.com with SMTP id b14so5622823edt.6 for ; Sat, 09 Feb 2019 12:37:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dectris.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=APhSD+PqtpJXFHU2VJSOwBXtyiRVtTxs2XUJJDme/Hk=; b=sJ1P0I7YQAF8pYjJnTlLRcTh5LD8Doezxdki5oV6mCueZmSDyQRln9CHl6jkFzmZyq jl69nySEhKJ2x3mPwDcOQeGyOTp5PaOSzq7YDuVVRbNp7dmNUs1S0VQb0mF4be9WSw7u s89NQfswNjmIWHm/RRDt9JYtQ/QTToqFcp6do= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=APhSD+PqtpJXFHU2VJSOwBXtyiRVtTxs2XUJJDme/Hk=; b=shO0TMbzGXm4Zb+eLQUasafyPCKfuecvzAfEpa32k5cstK6GdoyChaq00UaMLFMKa1 7svcQ1n4rUG7k1PP+PWhrsFCmiZIo0SmZuK+MbQ3CfMkkAAopXSvKMczSVG+G88dcrdN YBIv/I8J/QnlER1BcDqotYTj+9Hc2V7cBlfYswWQuJI/X6K8oDY7p1ipDw5CfWvrGp8z 9dM79c+tLusDSfMKB6U+cIKceBTHd3ZlKy/lglmxy1IPQlGO3nyHcQo/Ck2lvN2mxj+1 RH9iKN94BKF4KzPl3dDoLs2ErREvjzXWgS//DOWJvKyFLSJYsJZj1twoYnUJ5cd1CzIn U7wg== X-Gm-Message-State: AHQUAuayu6Qaa78GxQi/6G2h0isPKbwmglIQA5AwrZfHcfn9RYtjCBg9 xibeU7gW8c6P8Mfs2XqZEhaz0g== X-Received: by 2002:a17:906:228f:: with SMTP id p15mr15030240eja.104.1549744676878; Sat, 09 Feb 2019 12:37:56 -0800 (PST) Received: from th2-ws216-fed.dectris.local ([2a02:aa10:b57e:8400:c727:f827:3beb:2ecc]) by smtp.googlemail.com with ESMTPSA id q50sm1653652edd.66.2019.02.09.12.37.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 09 Feb 2019 12:37:56 -0800 (PST) From: Kal Conley To: davem@davemloft.net Cc: kal.conley@dectris.com, Willem de Bruijn , Eric Dumazet , Greg Kroah-Hartman , Jeff Kirsher , Alexander Duyck , Kirill Tkhai , Vincent Whitchurch , Li RongQing , Magnus Karlsson , netdev@vger.kernel.org (open list:NETWORKING [GENERAL]), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] net/packet: fix 4gb buffer limit due to overflow check Date: Sat, 9 Feb 2019 21:37:00 +0100 Message-Id: <20190209203701.27252-1-kal.conley@dectris.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When calculating rb->frames_per_block * req->tp_block_nr the result can overflow. Check it for overflow without limiting the total buffer size to UINT_MAX. This change fixes support for packet ring buffers >= UINT_MAX. --- net/packet/af_packet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index d0945253f43b..d603a430378e 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -4291,7 +4291,7 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, rb->frames_per_block = req->tp_block_size / req->tp_frame_size; if (unlikely(rb->frames_per_block == 0)) goto out; - if (unlikely(req->tp_block_size > UINT_MAX / req->tp_block_nr)) + if (unlikely(rb->frames_per_block > UINT_MAX / req->tp_block_nr)) goto out; if (unlikely((rb->frames_per_block * req->tp_block_nr) != req->tp_frame_nr)) -- 2.20.1