linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: David.Laight@ACULAB.COM (David Laight)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/16] drivers, net, mlx5: convert mlx5_cq.refcount from atomic_t to refcount_t
Date: Tue, 28 Mar 2017 09:33:21 +0000	[thread overview]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DCFFBE8AF@AcuExch.aculab.com> (raw)
In-Reply-To: <1490691403-4016-7-git-send-email-elena.reshetova@intel.com>

From: Elena Reshetova
> Sent: 28 March 2017 09:57
> 
> refcount_t type and corresponding API should be
> used instead of atomic_t when the variable is used as
> a reference counter. This allows to avoid accidental
> refcounter overflows that might lead to use-after-free
> situations.

I can't help feeling that you ought to find a scheme
that will detect extra decrements and extra increments
before the counter wraps 32 bits.

If an extra reference is requested every 100us it takes 4.8 days
for the counter to increment back to zero.
Simple tests aren't doing to find that - but it can easily happen
on a system that is running for several years.

	David

  reply	other threads:[~2017-03-28  9:33 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-28  8:56 [PATCH 00/16] Networking drivers refcount conversions Elena Reshetova
2017-03-28  8:56 ` [PATCH 01/16] drivers, net, ethernet: convert clip_entry.refcnt from atomic_t to refcount_t Elena Reshetova
2017-03-28  8:56 ` [PATCH 02/16] drivers, net, ethernet: convert mtk_eth.dma_refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 03/16] drivers, net, mlx4: convert mlx4_cq.refcount " Elena Reshetova
2017-03-28  8:56 ` [PATCH 04/16] drivers, net, mlx4: convert mlx4_qp.refcount " Elena Reshetova
2017-03-28  8:56 ` [PATCH 05/16] drivers, net, mlx4: convert mlx4_srq.refcount " Elena Reshetova
2017-03-28  8:56 ` [PATCH 06/16] drivers, net, mlx5: convert mlx5_cq.refcount " Elena Reshetova
2017-03-28  9:33   ` David Laight [this message]
2017-03-28 14:00     ` Reshetova, Elena
2017-03-28  8:56 ` [PATCH 07/16] drivers, net, mlx5: convert fs_node.refcount " Elena Reshetova
2017-03-28  8:56 ` [PATCH 08/16] drivers, net, hamradio: convert sixpack.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 09/16] drivers, net: convert masces_rx_sa.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 10/16] drivers, net: convert masces_rx_sc.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 11/16] drivers, net: convert masces_tx_sa.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 12/16] drivers, net, ppp: convert asyncppp.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 13/16] drivers, net, ppp: convert ppp_file.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 14/16] drivers, net, ppp: convert syncppp.refcnt " Elena Reshetova
2017-03-28  8:56 ` [PATCH 15/16] drivers, net, intersil: convert hostap_cmd_queue.usecnt " Elena Reshetova
2017-04-03 11:38   ` Kalle Valo
2017-05-22 15:24   ` [15/16] hostap: " Kalle Valo
2017-03-28  8:56 ` [PATCH 16/16] drivers, net, intersil: convert request_context.refcount " Elena Reshetova
2017-04-03 11:41   ` Kalle Valo
2017-04-04 10:07     ` Reshetova, Elena
2017-04-05 10:33       ` Kalle Valo

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=063D6719AE5E284EB5DD2968C1650D6DCFFBE8AF@AcuExch.aculab.com \
    --to=david.laight@aculab.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).