All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: Martin Wilck <martin.wilck@suse.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>,
	Brian Bunker <brian@purestorage.com>,
	dm-devel@lists.linux.dev,
	Xose Vazquez Perez <xose.vazquez@gmail.com>,
	Martin Wilck <mwilck@suse.com>
Subject: Re: [PATCH 04/18] libmpathutil: add implementation of generic shared pointer
Date: Tue, 12 May 2026 20:45:18 -0400	[thread overview]
Message-ID: <agPJnkBDaaQgii_b@redhat.com> (raw)
In-Reply-To: <20260505154332.448054-5-mwilck@suse.com>

On Tue, May 05, 2026 at 05:43:18PM +0200, Martin Wilck wrote:
> Add a set of simple functions to handle refcounted pointers.
> 
> Signed-off-by: Martin Wilck <mwilck@suse.com>
> ---
> diff --git a/libmpathutil/util.c b/libmpathutil/util.c
> index 23a9797..3c623ec 100644
> --- a/libmpathutil/util.c
> +++ b/libmpathutil/util.c
[...]
> +void get_shared_ptr(void *ptr)
> +{
> +	struct shared_ptr *sp = container_of(ptr, struct shared_ptr, ptr);
> +
> +	if (uatomic_add_return(&sp->refcnt, 1) < 0)

This is fine, but what about using an unsigned refcnt, and checking if
this returns 1? It would catch the cases where wrap-around happened,
but it would also catch if something incremented a freed pointer. Just
a thought. But like I said, this is fine as is, so

Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>

> +		condlog(0, "%s: refcount overflow", __func__);
> +}


  reply	other threads:[~2026-05-13  0:45 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 15:43 [PATCH 00/18] multipath-tools: asynchronous checker framework Martin Wilck
2026-05-05 15:43 ` [PATCH 01/18] libmpathutil: runner: reduce a message loglevel Martin Wilck
2026-05-13  0:39   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 02/18] libmultipath: checkers: add two generic checker messages Martin Wilck
2026-05-13  0:39   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 03/18] libmultipath: checkers: move checker_class definition to checkers.h Martin Wilck
2026-05-13  0:40   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 04/18] libmpathutil: add implementation of generic shared pointer Martin Wilck
2026-05-13  0:45   ` Benjamin Marzinski [this message]
2026-05-05 15:43 ` [PATCH 05/18] multipath-tools tests: add tests for shared pointer code Martin Wilck
2026-05-08 23:11   ` Martin Wilck
2026-05-05 15:43 ` [PATCH 06/18] libmultipath: use shared_ptr for checker classes Martin Wilck
2026-05-13  0:49   ` Benjamin Marzinski
2026-05-17  9:57     ` Martin Wilck
2026-05-18 19:27       ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 07/18] libmultipath: use shared_ptr for prioritizers Martin Wilck
2026-05-13  0:50   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 08/18] libmpathutil: runner: use shared_ptr Martin Wilck
2026-05-13  0:50   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 09/18] libmultipath: add generic async path checker code Martin Wilck
2026-05-13  0:55   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 10/18] libmultipath: checkers: add support for async checker Martin Wilck
2026-05-13  0:59   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 11/18] libmultipath: convert TUR checker to an async checker instance Martin Wilck
2026-05-13  1:03   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 12/18] libmultipath: convert RDAC checker to async checker Martin Wilck
2026-05-13  1:04   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 13/18] libmultipath: convert cciss_tur " Martin Wilck
2026-05-13  1:05   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 14/18] libmultipath: convert readsector0 " Martin Wilck
2026-05-13  1:05   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 15/18] libmultipath: convert hp_sw " Martin Wilck
2026-05-13  1:06   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 16/18] libmultipath: async_checker: add context_size and init symbols Martin Wilck
2026-05-13  1:09   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 17/18] libmultipath: checkers: rework mpcontext passing Martin Wilck
2026-05-13  1:09   ` Benjamin Marzinski
2026-05-05 15:43 ` [PATCH 18/18] libmultipath: convert emc_clariion to async_checker Martin Wilck
2026-05-13  1:20   ` Benjamin Marzinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=agPJnkBDaaQgii_b@redhat.com \
    --to=bmarzins@redhat.com \
    --cc=brian@purestorage.com \
    --cc=christophe.varoqui@opensvc.com \
    --cc=dm-devel@lists.linux.dev \
    --cc=martin.wilck@suse.com \
    --cc=mwilck@suse.com \
    --cc=xose.vazquez@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.