From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2992797AbcBSC4i (ORCPT ); Thu, 18 Feb 2016 21:56:38 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:50672 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2992769AbcBSC4g (ORCPT ); Thu, 18 Feb 2016 21:56:36 -0500 From: Sasha Levin To: ast@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, Sasha Levin Subject: [PATCH] bpf: grab rcu read lock for bpf_percpu_hash_update Date: Thu, 18 Feb 2016 21:56:22 -0500 Message-Id: <1455850582-9490-1-git-send-email-sasha.levin@oracle.com> X-Mailer: git-send-email 2.5.0 X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org bpf_percpu_hash_update() expects rcu lock to be held and warns if it's not, which pointed out a missing rcu read lock. Fixes: 15a07b338 ("bpf: add lookup/update support for per-cpu hash and array maps") Signed-off-by: Sasha Levin --- kernel/bpf/syscall.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index c95a753..94324b8 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -348,7 +348,9 @@ static int map_update_elem(union bpf_attr *attr) goto free_value; if (map->map_type == BPF_MAP_TYPE_PERCPU_HASH) { + rcu_read_lock(); err = bpf_percpu_hash_update(map, key, value, attr->flags); + rcu_read_unlock(); } else if (map->map_type == BPF_MAP_TYPE_PERCPU_ARRAY) { err = bpf_percpu_array_update(map, key, value, attr->flags); } else { -- 1.7.10.4