From patchwork Thu Feb 21 05:49:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 1045768 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=joelfernandes.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=joelfernandes.org header.i=@joelfernandes.org header.b="HXwuk3Be"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 444k8y2vWKz9s2R for ; Thu, 21 Feb 2019 16:50:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726599AbfBUFt6 (ORCPT ); Thu, 21 Feb 2019 00:49:58 -0500 Received: from mail-qk1-f196.google.com ([209.85.222.196]:36467 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725823AbfBUFt5 (ORCPT ); Thu, 21 Feb 2019 00:49:57 -0500 Received: by mail-qk1-f196.google.com with SMTP id o125so3618625qkf.3 for ; Wed, 20 Feb 2019 21:49:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZndMi1vR8pP/uDQEpl/G+Gkh+/jfQAQYXNz5X7DRoYE=; b=HXwuk3BeRHfjIVcR9oRDVyFtMQbMdbB6iqlT1iCPSvuvHuf5PqOvGoEvA0RerSXNN3 IxiBr0e6+Ue3fKS+p+HKNa67QGQJghaa5r1dgb1YfCSEdfSQihc04wk7MY8QLCPpzTON 5OD9oO16wKd/LGd2VXFdromAXymHHAXky4Jjk= 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=ZndMi1vR8pP/uDQEpl/G+Gkh+/jfQAQYXNz5X7DRoYE=; b=SgtAnCTKYQOQO3lNrRiWOfX8wjDlmyPv08p83Z9hq1vCHNlDRHe73p7UcfTXUKsX8t /4gJ9s1iz9yBxRpCcZuDFTG8eczhx2C47NSTawCTSS7HyzBTwrV0IPBMtcSJ4mauiQFY qUM0Qyvz/Nc1vcuiS+2kX52SmOxeeQbPAP+KAkZCboNDkRUf2MdUkkaO34/msmKfb5xS 8SOyOJth/n6ldbFcJEFHgPF6+8mzYjEIH3g77wRV5XdZMsiQ13cCIGxC0ahAH6/FNc4F 3+HdEK+z73ANtUTWCZti5hpj6sAJR7gP0IsrUQDAGP++9jkFURsNecudTAjYhiouORjH Axvw== X-Gm-Message-State: AHQUAuZjgHOjdKRhjh4ZdllgcvN2Cp5BwACc/rhnd+Cmv45NJFDrpfCe 66dAYaHHR1bwKZeLYJpZJI1dEw== X-Google-Smtp-Source: AHgI3IYTOygGX7goz+5D+gWeyTs6X2J1fpXjlzgml9y1fS3y2srDtA2WXSzBoZfOpUxLKtPVleq63A== X-Received: by 2002:a37:4d57:: with SMTP id a84mr12453328qkb.35.1550728196248; Wed, 20 Feb 2019 21:49:56 -0800 (PST) Received: from joelaf.cam.corp.google.com ([2620:0:1004:1100:cca9:fccc:8667:9bdc]) by smtp.gmail.com with ESMTPSA id k185sm11561219qkd.62.2019.02.20.21.49.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Feb 2019 21:49:55 -0800 (PST) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , Alexei Starovoitov , Christian Brauner , Daniel Borkmann , David Ahern , "David S. Miller" , Ido Schimmel , Ingo Molnar , intel-wired-lan@lists.osuosl.org (moderated list:INTEL ETHERNET DRIVERS), Jakub Kicinski , Jeff Kirsher , Jesper Dangaard Brouer , John Fastabend , Josh Triplett , keescook@chromium.org, Lai Jiangshan , Martin KaFai Lau , Mathieu Desnoyers , netdev@vger.kernel.org, "Paul E. McKenney" , Peter Zijlstra , rcu@vger.kernel.org, Song Liu , Steven Rostedt , xdp-newbies@vger.kernel.org, Yonghong Song Subject: [PATCH RFC 0/5] RCU fixes for rcu_assign_pointer() usage Date: Thu, 21 Feb 2019 00:49:37 -0500 Message-Id: <20190221054942.132388-1-joel@joelfernandes.org> X-Mailer: git-send-email 2.21.0.rc0.258.g878e2cd30e-goog MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org These patches fix various RCU API usage issues found due to sparse errors as a result of the recent check to add rcu_check_sparse() to rcu_assign_pointer(). The errors in many cases seem to indicate either an incorrect API usage, or missing annotations. The annotations added can also help avoid future incorrect usages and bugs so it is a good idea to do in any case. These are only build/boot tested and I request for feedback from maintainers and developers in the various areas the patches touch. Thanks for any feedback! (There are still errors in rbtree.h but I have kept those for a later time since fixing them is a bit more involved). Joel Fernandes (Google) (5): net: rtnetlink: Fix incorrect RCU API usage ixgbe: Fix incorrect RCU API usage sched/cpufreq: Fix incorrect RCU API usage sched/topology: Annonate RCU pointers properly rcuwait: Replace rcu_assign_pointer() with WRITE_ONCE drivers/net/ethernet/intel/ixgbe/ixgbe.h | 4 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 ++++++++++++----- include/linux/rcuwait.h | 2 +- kernel/sched/cpufreq.c | 8 ++++++-- kernel/sched/sched.h | 14 +++++++------- kernel/sched/topology.c | 12 ++++++------ net/core/rtnetlink.c | 4 ++-- 7 files changed, 36 insertions(+), 25 deletions(-) --- 2.21.0.rc0.258.g878e2cd30e-goog