From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754046AbdLDJ1F (ORCPT ); Mon, 4 Dec 2017 04:27:05 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:36954 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753286AbdLDJ1C (ORCPT ); Mon, 4 Dec 2017 04:27:02 -0500 Date: Mon, 4 Dec 2017 12:26:32 +0300 From: Dan Carpenter To: Dmitry Vyukov Cc: Eric Biggers , syzbot , Alexey Dobriyan , Andrew Morton , Arnd Bergmann , dave.jiang@intel.com, LKML , syzkaller-bugs@googlegroups.com, Al Viro , linux-block@vger.kernel.org Subject: Re: WARNING in kmalloc_slab (3) Message-ID: <20171204092632.mh772rjaqahgslvp@mwanda> References: <20171203201608.GC844@zzz.localdomain> <20171204081408.oyp46roxbkjbxxkw@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170609 (1.8.3) X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 04, 2017 at 09:18:05AM +0100, Dmitry Vyukov wrote: > On Mon, Dec 4, 2017 at 9:14 AM, Dan Carpenter wrote: > > On Sun, Dec 03, 2017 at 12:16:08PM -0800, Eric Biggers wrote: > >> Looks like BLKTRACESETUP doesn't limit the '.buf_nr' parameter, allowing anyone > >> who can open a block device to cause an extremely large kmalloc. Here's a > >> simplified reproducer: > >> > > > > There are lots of places which allow people to allocate as much as they > > want. With Syzcaller, you might want to just hard code a __GFP_NOWARN > > in to disable it. > > Hi, > > Hard code it where? My idea was to just make warn_alloc() a no-op. > > User-controllable allocation are supposed to use __GFP_NOWARN. No that's not right. What we don't want is unprivileged users to use all the memory and we don't want unprivileged users to spam /var/log/messages. But you have to have slightly elevated permissions to open block devices right? The warning is helpful. Admins should "don't do that" if they don't want the warning. The kernel really isn't designed to work with Oops on Warn. I try to tell people simple thinks like not printing a warning when copy_from_user() fails because I don't want /var/log/messages to get spammed. But there are lots and lots of places which generate warnings. regards, dan carpenter