public inbox for linux-hams@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] ROSE: Misc fixes
@ 2011-07-20  9:00 Ralf Baechle
  2011-07-20  0:21 ` [PATCH 2/7] NET: ROSE: Factor our common code from functions Ralf Baechle
                   ` (7 more replies)
  0 siblings, 8 replies; 24+ messages in thread
From: Ralf Baechle @ 2011-07-20  9:00 UTC (permalink / raw)
  To: linux-hams; +Cc: Bernard F6BVP

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


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2013-08-09  8:10 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-20  9:00 [PATCH 0/7] ROSE: Misc fixes Ralf Baechle
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox