Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1088503imu; Fri, 16 Nov 2018 15:45:16 -0800 (PST) X-Google-Smtp-Source: AJdET5eH3zVyR9/UZbFaooy/rnCLKFf2B1Ohoe+Gm0DQPtGg72oESsaJFOlzS8BmZX1oXNOCVVyK X-Received: by 2002:a63:7cf:: with SMTP id 198mr11966339pgh.129.1542411916201; Fri, 16 Nov 2018 15:45:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542411916; cv=none; d=google.com; s=arc-20160816; b=gmJfZ3lYvdY7vq2iyHEPUeceGMyKy19gZKY4MjioE805G56JesBCGeAAa70ejYQ7Hl d62yv7Rbxi65mWegZyfSgh+ZIhSW8Q3jwNJk1zk9MHJbxlxGU4KBb0soPylnhs56Pci9 P2QjXCLJbqdnYE0G/UsZi7dHEnDgCerpjROVdJfX+JVOw+DTfR2k2otIqD/HsEK1vkMC syPdvF1apByAsXuKP4c/CJODRUv7oXp0JHj7K88FiSiLk3nloMENzQ0RgJqINrtNHi++ BUA7U9n+9PzZqJcfeshsl1M9cySJytFOHmjYBzbEMTMJttQTH8sFa/3JvaiuFNL/cNML ladA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=/S3A4Ev/wT6z58zpQ4zDoDKGnmF8EFdc13KDqMrbU/w=; b=iNn0Jb7Dxn72/q4vUAj7Qeb9EaKotsWukRmdJxyzh8Fxps89EakLMSEWuI/03q5UH+ Fq0f9GCcvgxZ++HjTD4dmBAYl3f7mGxMUDd/+Qj2ncdyiypUF8utTUrbS4+AxVgeoJcp uFRZDYFFfspfypTs9/PLY8/thsN0CsfhtKOO6Tv+cHdd7C3IxLbrWRPC+kDE75fRxhol XdkAwThg5FGuG6PI3MtGDmhtLZ3lIS4k885DHq2vWqf+g9On87R7cggTxvIErUabtAS/ u2lTKzAEl2+PVYAtmaoAWr5XyJVVT7g6KEZUSl+7h4oNfn6q2P3QVd/xnwDhj8u4QXOS 66iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Vd+tJgDC; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g8-v6si24193127pli.79.2018.11.16.15.45.01; Fri, 16 Nov 2018 15:45:16 -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=@gmail.com header.s=20161025 header.b=Vd+tJgDC; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730796AbeKQJqA (ORCPT + 99 others); Sat, 17 Nov 2018 04:46:00 -0500 Received: from mail-qk1-f194.google.com ([209.85.222.194]:34261 "EHLO mail-qk1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727116AbeKQJqA (ORCPT ); Sat, 17 Nov 2018 04:46:00 -0500 Received: by mail-qk1-f194.google.com with SMTP id a132so40256733qkg.1; Fri, 16 Nov 2018 15:31:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/S3A4Ev/wT6z58zpQ4zDoDKGnmF8EFdc13KDqMrbU/w=; b=Vd+tJgDCNNoWZhlCW9hcN1FAjGtOhWq4crez1mfM/UPMjVx+vwmTA/HKAvleFv+c5i 8b61d3du8v+p1Dy3LM0zP03nICX8oEeeGU5tinyfKVy8nPDLOu0OGsJKkPEMyZbzz/zj jAO45I9QWoLh7cwdEOcNAyZitrvoKxi80TgxL794qH+mJiVpQEBfJpEkX91qy+ZUxx/F a1Lx893SwDy+GpHyTez9cjaGkEmqtUDIqYbYOzPVazbpTdlu0izl8O04qg9EB3dco6rD kxegyJYwIo6E0MQODeDhxMTu3hbiSN/Zi/IWCpHn9xyswy1L0Npkvqf8hwapwgosgmPd PbaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/S3A4Ev/wT6z58zpQ4zDoDKGnmF8EFdc13KDqMrbU/w=; b=tmTSus6bmcnpZw+skP6OcWCBSrLoxGwcqFsUcGsq14lJJhFvfdraM1f6AFEuTRMmVN zK6YpCc5iwTjSEhlx6TU0eXAjs5H2SB1BDLz4UuEIHiGlG9YHf5JI578u0diqC0CfPk1 I6w7URQY8ShNTOyMFtCWtnzHdK59mp9upJaB0x1puUyCa3hO1G0DltONjxCLbq15NL8P CU1RJecawgYlaBYYpOZNdl8UFddkv40nA2rZHT+U5vtf2OKZaQqMlVtg67JSwIzUAZUB Y2fAVQspjgkD59OLzHOb+9XUqbbnkNO0pDmktyR9tcZ/J02TcFZc+n84itKCJKd65yZe CcxQ== X-Gm-Message-State: AGRZ1gIB4+5M+S3Rkb+glb85DwVL5ctlERBZ86CErNrxuNinP31kMf8/ H96KO+/cdLnN0r8ooeDdFqkMhlKpDC46zkexHos= X-Received: by 2002:ac8:266c:: with SMTP id v41mr11876249qtv.159.1542411096312; Fri, 16 Nov 2018 15:31:36 -0800 (PST) MIME-Version: 1.0 References: <20181114180034.25558-1-guro@fb.com> In-Reply-To: <20181114180034.25558-1-guro@fb.com> From: Y Song Date: Fri, 16 Nov 2018 23:30:59 +0000 Message-ID: Subject: Re: [PATCH bpf] bpf: allocate local storage buffers using GFP_ATOMIC To: guroan@gmail.com Cc: netdev , LKML , kernel-team@fb.com, guro@fb.com, Alexei Starovoitov , Daniel Borkmann Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 14, 2018 at 6:01 PM Roman Gushchin wrote: > > Naresh reported an issue with the non-atomic memory allocation of > cgroup local storage buffers: > > [ 73.047526] BUG: sleeping function called from invalid context at > /srv/oe/build/tmp-rpb-glibc/work-shared/intel-corei7-64/kernel-source/mm/slab.h:421 > [ 73.060915] in_atomic(): 1, irqs_disabled(): 0, pid: 3157, name: test_cgroup_sto > [ 73.068342] INFO: lockdep is turned off. > [ 73.072293] CPU: 2 PID: 3157 Comm: test_cgroup_sto Not tainted > 4.20.0-rc2-next-20181113 #1 > [ 73.080548] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS > 2.0b 07/27/2017 > [ 73.088018] Call Trace: > [ 73.090463] dump_stack+0x70/0xa5 > [ 73.093783] ___might_sleep+0x152/0x240 > [ 73.097619] __might_sleep+0x4a/0x80 > [ 73.101191] __kmalloc_node+0x1cf/0x2f0 > [ 73.105031] ? cgroup_storage_update_elem+0x46/0x90 > [ 73.109909] cgroup_storage_update_elem+0x46/0x90 > > cgroup_storage_update_elem() (as well as other update map update > callbacks) is called with disabled preemption, so GFP_ATOMIC > allocation should be used: e.g. alloc_htab_elem() in hashtab.c. > > Reported-by: Naresh Kamboju > Tested-by: Naresh Kamboju > Signed-off-by: Roman Gushchin > Cc: Alexei Starovoitov > Cc: Daniel Borkmann Acked-by: Yonghong Song > --- > kernel/bpf/local_storage.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-)