From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA547C6FD1C for ; Sun, 26 Mar 2023 12:27:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231211AbjCZM1X (ORCPT ); Sun, 26 Mar 2023 08:27:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229483AbjCZM1X (ORCPT ); Sun, 26 Mar 2023 08:27:23 -0400 Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05F1B4C39 for ; Sun, 26 Mar 2023 05:27:22 -0700 (PDT) Received: by mail-yb1-xb36.google.com with SMTP id cf7so7268015ybb.5 for ; Sun, 26 Mar 2023 05:27:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679833641; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=WuEsxrDbF/inLpKrbuVfZ5izqyJJinZBdUjdf7O5LUM=; b=V2gHZHslEdu3xrIj9mtxPLaMLoocSdj5ImvyU4v+44pm9nVKNP/zYL1Dg2eieY2dxp onkNUDhH4aQXyS5ed0T6dBP1v4bMpWcxzSnhyhvzCY/L15JMWN/KJCqFpN/dfiykJfAB 9cWNgbjm86N+e4qqv1IeChEjzj55EXToH5TPQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679833641; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WuEsxrDbF/inLpKrbuVfZ5izqyJJinZBdUjdf7O5LUM=; b=WZI8fTXUtpokL06sZ6TvsUwLqICetgrYbFUBZT6eRM66+3Y4CxG8deFOfvIJxMiocI suy8kwuy3gXgK3Gia50S+JE3JO3MhNTXhxCkj7ysKfXCmUkMlc+zLPXfevKwEMrZJnDz fyLHT8Flw5nfhjYWxb/uO7OBHYFMb/zbnHPiDZiZGjipa9DZy+YlmpfgnH2l3G0tPh8x spNShiuzChv6NC+uo25AWUYX77BGF20/U90iBNmnjh/DOLoch+6RQ4O6yM1IEZPABb5x VxAsU5yR8GdEVznlpE242ChAVk4+V/J3M7IWsmglTlu0cs6gGch/Z0c8cd5kOB07JuYX PAzw== X-Gm-Message-State: AAQBX9c3ccB+wEWyAfo2qZAkYyr+uCYWbRlDLnYTfHLnoMCILhFu4cyU Jmh685MPfTOZzGYfuAnHeCFMqx6P7KnqNx2bvqUPSQ== X-Google-Smtp-Source: AKy350Z7FAUAxqILc0KDv/Q2NcQmwgP5WIczo/cB3lR7Oy5nlhBvDO4RBmlXSkSRRW9Lr0SX2xoh8S28f15LfRwm9Xk= X-Received: by 2002:a05:6902:1108:b0:b6d:fc53:c5c0 with SMTP id o8-20020a056902110800b00b6dfc53c5c0mr6998960ybu.1.1679833641143; Sun, 26 Mar 2023 05:27:21 -0700 (PDT) MIME-Version: 1.0 References: <20230315181902.4177819-1-joel@joelfernandes.org> In-Reply-To: <20230315181902.4177819-1-joel@joelfernandes.org> From: Joel Fernandes Date: Sun, 26 Mar 2023 08:27:10 -0400 Message-ID: Subject: Re: [PATCH v2 01/14] drbd: Rename kvfree_rcu() to kvfree_rcu_mightsleep() To: Philipp Reisner , Lars Ellenberg , =?UTF-8?Q?Christoph_B=C3=B6hmwalder?= , Jens Axboe Cc: "Uladzislau Rezki (Sony)" , "Paul E . McKenney" , drbd-dev@lists.linbit.com, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org On Wed, Mar 15, 2023 at 2:19=E2=80=AFPM Joel Fernandes (Google) wrote: > > From: "Uladzislau Rezki (Sony)" > > The kvfree_rcu() macro's single-argument form is deprecated. Therefore > switch to the new kvfree_rcu_mightsleep() variant. The goal is to > avoid accidental use of the single-argument forms, which can introduce > functionality bugs in atomic contexts and latency bugs in non-atomic > contexts. > > Cc: Jens Axboe > Cc: Philipp Reisner > Cc: Lars Ellenberg Jens/Others, any chance for an Ack here? - Joel > Signed-off-by: Uladzislau Rezki (Sony) > Signed-off-by: Paul E. McKenney > Signed-off-by: Joel Fernandes (Google) > --- > drivers/block/drbd/drbd_nl.c | 6 +++--- > drivers/block/drbd/drbd_receiver.c | 4 ++-- > drivers/block/drbd/drbd_state.c | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c > index 60757ac31701..f49f2a5282e1 100644 > --- a/drivers/block/drbd/drbd_nl.c > +++ b/drivers/block/drbd/drbd_nl.c > @@ -1615,7 +1615,7 @@ int drbd_adm_disk_opts(struct sk_buff *skb, struct = genl_info *info) > drbd_send_sync_param(peer_device); > } > > - kvfree_rcu(old_disk_conf); > + kvfree_rcu_mightsleep(old_disk_conf); > kfree(old_plan); > mod_timer(&device->request_timer, jiffies + HZ); > goto success; > @@ -2446,7 +2446,7 @@ int drbd_adm_net_opts(struct sk_buff *skb, struct g= enl_info *info) > > mutex_unlock(&connection->resource->conf_update); > mutex_unlock(&connection->data.mutex); > - kvfree_rcu(old_net_conf); > + kvfree_rcu_mightsleep(old_net_conf); > > if (connection->cstate >=3D C_WF_REPORT_PARAMS) { > struct drbd_peer_device *peer_device; > @@ -2860,7 +2860,7 @@ int drbd_adm_resize(struct sk_buff *skb, struct gen= l_info *info) > new_disk_conf->disk_size =3D (sector_t)rs.resize_size; > rcu_assign_pointer(device->ldev->disk_conf, new_disk_conf= ); > mutex_unlock(&device->resource->conf_update); > - kvfree_rcu(old_disk_conf); > + kvfree_rcu_mightsleep(old_disk_conf); > new_disk_conf =3D NULL; > } > > diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd= _receiver.c > index 757f4692b5bd..e197b2a465d2 100644 > --- a/drivers/block/drbd/drbd_receiver.c > +++ b/drivers/block/drbd/drbd_receiver.c > @@ -3759,7 +3759,7 @@ static int receive_protocol(struct drbd_connection = *connection, struct packet_in > drbd_info(connection, "peer data-integrity-alg: %s\n", > integrity_alg[0] ? integrity_alg : "(none)"); > > - kvfree_rcu(old_net_conf); > + kvfree_rcu_mightsleep(old_net_conf); > return 0; > > disconnect_rcu_unlock: > @@ -4127,7 +4127,7 @@ static int receive_sizes(struct drbd_connection *co= nnection, struct packet_info > > rcu_assign_pointer(device->ldev->disk_conf, new_d= isk_conf); > mutex_unlock(&connection->resource->conf_update); > - kvfree_rcu(old_disk_conf); > + kvfree_rcu_mightsleep(old_disk_conf); > > drbd_info(device, "Peer sets u_size to %lu sector= s (old: %lu)\n", > (unsigned long)p_usize, (unsigned long)m= y_usize); > diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_st= ate.c > index 75d13ea0024f..2aeea295fa28 100644 > --- a/drivers/block/drbd/drbd_state.c > +++ b/drivers/block/drbd/drbd_state.c > @@ -2071,7 +2071,7 @@ static int w_after_conn_state_ch(struct drbd_work *= w, int unused) > conn_free_crypto(connection); > mutex_unlock(&connection->resource->conf_update); > > - kvfree_rcu(old_conf); > + kvfree_rcu_mightsleep(old_conf); > } > > if (ns_max.susp_fen) { > -- > 2.40.0.rc1.284.g88254d51c5-goog >