From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f194.google.com ([209.85.208.194]:37829 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726298AbfHMJMe (ORCPT ); Tue, 13 Aug 2019 05:12:34 -0400 Received: by mail-lj1-f194.google.com with SMTP id z28so46654220ljn.4 for ; Tue, 13 Aug 2019 02:12:33 -0700 (PDT) Date: Tue, 13 Aug 2019 12:12:29 +0300 From: Ivan Khoronzhuk Subject: Re: [PATCH v2 bpf-next] mm: mmap: increase sockets maximum memory size pgoff for 32bits Message-ID: <20190813091228.GA6951@khorivan> References: <20190812113429.2488-1-ivan.khoronzhuk@linaro.org> <20190812124326.32146-1-ivan.khoronzhuk@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: Sender: xdp-newbies-owner@vger.kernel.org List-ID: To: Magnus Karlsson Cc: =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , linux-mm@kvack.org, Xdp , Network Development , bpf , linux-kernel@vger.kernel.org, akpm@linux-foundation.org, Alexei Starovoitov , "Karlsson, Magnus" On Tue, Aug 13, 2019 at 10:02:54AM +0200, Magnus Karlsson wrote: >On Mon, Aug 12, 2019 at 2:45 PM Ivan Khoronzhuk > wrote: >> >> The AF_XDP sockets umem mapping interface uses XDP_UMEM_PGOFF_FILL_RING >> and XDP_UMEM_PGOFF_COMPLETION_RING offsets. The offsets seems like are >> established already and are part of configuration interface. >> >> But for 32-bit systems, while AF_XDP socket configuration, the values >> are to large to pass maximum allowed file size verification. >> The offsets can be tuned ofc, but instead of changing existent >> interface - extend max allowed file size for sockets. > >Can you use mmap2() instead that takes a larger offset (2^44) even on >32-bit systems? That's for mmap2. > >/Magnus > >> Signed-off-by: Ivan Khoronzhuk >> --- >> >> Based on bpf-next/master >> >> v2..v1: >> removed not necessarily #ifdev as ULL and UL for 64 has same size >> >> mm/mmap.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/mm/mmap.c b/mm/mmap.c >> index 7e8c3e8ae75f..578f52812361 100644 >> --- a/mm/mmap.c >> +++ b/mm/mmap.c >> @@ -1358,6 +1358,9 @@ static inline u64 file_mmap_size_max(struct file *file, struct inode *inode) >> if (S_ISBLK(inode->i_mode)) >> return MAX_LFS_FILESIZE; >> >> + if (S_ISSOCK(inode->i_mode)) >> + return MAX_LFS_FILESIZE; >> + >> /* Special "we do even unsigned file positions" case */ >> if (file->f_mode & FMODE_UNSIGNED_OFFSET) >> return 0; >> -- >> 2.17.1 >> -- Regards, Ivan Khoronzhuk