All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: linux-hams@vger.kernel.org
Cc: Bernard F6BVP <f6bvp@free.fr>
Subject: [PATCH 0/7] ROSE: Misc fixes
Date: Wed, 20 Jul 2011 10:00:37 +0100	[thread overview]
Message-ID: <cover.1311152437.git.ralf@linux-mips.org> (raw)

DaveM's recent email regarding a crash triggered by the attempt to send
IP over rose prompted me to review the ROSE code again.  I found four
race conditions and from what Bernard writes in a recent email about
wrong rose_neighbour->use counters one of these fixes may actually be a
practical problem.

 - Patch [1/7] fixes a race that is unlikely to hit in a typical system and
   even if so the result would be a very small number of packets attempted
   to be sent to the wrong destination.
 - Patch [2/7] is a cleanup preparing for [3/7]
 - Patch [3/7] fixes the kernel side of the rose_callsign access race by
   protecting it with a spinlock.
 - Patch [4/7] makes struct rose_neigh member use an atomic_t.  This was
   noticed by code review but hopefully fixes the mismatching use counter
   recently reported by Bernard Pidoux.
 - Patch [5/7] converts rose_neigh_no into an atomic_t.  Previously there
   was a race condition which may have resulted in multiple rose_route
   structures using the same rose_neigh_no value and rose_neigh_no being
   incremented by fewer than the number of racing accesses.
 - Patch [6/7] and [7/7] fix some coding style issues.

Test reports would be apreciated.

Thanks,

  Ralf

Ralf Baechle (7):
  NET: ROSE: Fix race in SIOCRSSL2CALL ioctl accessing userspace.
  NET: ROSE: Factor our common code from functions.
  NET: ROSE: Protect rose_callsign with a spinlock
  NET: ROSE: Make neighbour->use atomic
  NET: ROSE: Make rose_neigh_no atomic.
  NET: ROSE: Move return statements hidden behind an if to their own line
  NET: ROSE: Fix formatting.

 include/net/rose.h    |    7 +++++--
 net/rose/af_rose.c    |   30 +++++++++++++++++++++---------
 net/rose/rose_in.c    |   13 +++++++------
 net/rose/rose_link.c  |   38 ++++++++++++++++++++++++--------------
 net/rose/rose_route.c |   32 +++++++++++++++++---------------
 net/rose/rose_subr.c  |    3 ++-
 net/rose/rose_timer.c |    3 ++-
 7 files changed, 78 insertions(+), 48 deletions(-)

-- 
1.7.4.4


             reply	other threads:[~2011-07-20  9:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-20  9:00 Ralf Baechle [this message]
2011-07-20  0:21 ` [PATCH 2/7] NET: ROSE: Factor our common code from functions Ralf Baechle
2011-07-20  0:21 ` [PATCH 1/7] NET: ROSE: Fix race in SIOCRSSL2CALL ioctl accessing userspace Ralf Baechle
2011-07-20  0:37 ` [PATCH 3/7] NET: ROSE: Protect rose_callsign with a spinlock Ralf Baechle
2013-08-06 17:57   ` [PATCH] ax25tools mheard : don't display empty records f6bvp@free
2013-08-07  8:17     ` Thomas Osterried
2013-08-07 10:06       ` f6bvp@free
2013-08-09  8:10     ` Thomas Osterried
2011-07-20  8:11 ` [PATCH 4/7] NET: ROSE: Make neighbour->use atomic Ralf Baechle
2011-07-20  8:11 ` [PATCH 5/7] NET: ROSE: Make rose_neigh_no atomic Ralf Baechle
2011-07-20 18:09   ` [PATCH v2 " Ralf Baechle
2011-07-20  8:11 ` [PATCH 6/7] NET: ROSE: Move return statements hidden behind an if to their own line Ralf Baechle
2011-07-20  8:11 ` [PATCH 7/7] NET: ROSE: Fix formatting Ralf Baechle
2011-07-20 17:15 ` [PATCH 0/7] ROSE: Misc fixes Bernard, f6bvp
2011-07-20 17:59   ` Ralf Baechle DL5RB
2011-07-22  9:10     ` Bernard, f6bvp
2011-07-22 10:56       ` Ralf Baechle DL5RB
2011-07-22 16:12         ` f6bvp
2011-07-23 13:28           ` Ralf Baechle DL5RB
2011-07-29 22:32         ` f6bvp
2011-08-08 13:40           ` f6bvp
2011-08-08 14:06             ` Ralf Baechle
2011-08-08 15:33               ` f6bvp
2011-08-19 13:07                 ` f6bvp

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=cover.1311152437.git.ralf@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=f6bvp@free.fr \
    --cc=linux-hams@vger.kernel.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 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.