Linux HAM/Amateur Radio development
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Kevin <kevin@w1ngl.us>
Cc: linux-hams@vger.kernel.org
Subject: NETROM locking, was: Re: [PATCH 1/9] Use netdev_priv in NETROM and ROSE
Date: Mon, 31 Jan 2005 04:33:37 +0000	[thread overview]
Message-ID: <20050131043337.GA16895@linux-mips.org> (raw)
In-Reply-To: <20050131030602Z8225224-1340+2359@linux-mips.org>

On Sun, Jan 30, 2005 at 07:05:49PM -0800, Kevin wrote:

> Message-Id: <20050131030602Z8225224-1340+2359@linux-mips.org>

Your mailer seems to be sending out mails without message ID.  Seems like
time to fix it ;-)

> Will this fix this?
> kernel: net/netrom/nr_in.c:77: spin_lock(net/core/sock.c:ca9f2860) already
> locked by net/netrom/af_netrom.c/176
> kernel: net/netrom/af_netrom.c:914: spin_unlock(net/core/sock.c:ca9f2860)
> not locked

No.  Try below patch from Alan Cox which should solve your issue and a
minor security hole in AF_ROSE.

73 de DL5RB op Ralf

 netrom/nr_in.c    |   11 +----------
 rose/rose_route.c |    3 ++-
 2 files changed, 3 insertions(+), 11 deletions(-)

Index: bk-afu/net/netrom/nr_in.c
===================================================================
--- bk-afu.orig/net/netrom/nr_in.c	2005-01-29 23:05:54.000000000 +0000
+++ bk-afu/net/netrom/nr_in.c	2005-01-31 04:23:37.098462856 +0000
@@ -74,7 +74,6 @@
 static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,
 	int frametype)
 {
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNACK: {
 		nr_cb *nr = nr_sk(sk);
@@ -103,8 +102,6 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return 0;
 }
 
@@ -116,7 +113,6 @@
 static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,
 	int frametype)
 {
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNACK | NR_CHOKE_FLAG:
 		nr_disconnect(sk, ECONNRESET);
@@ -132,8 +128,6 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return 0;
 }
 
@@ -154,7 +148,6 @@
 	nr = skb->data[18];
 	ns = skb->data[17];
 
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNREQ:
 		nr_write_internal(sk, NR_CONNACK);
@@ -265,12 +258,10 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return queued;
 }
 
-/* Higher level upcall for a LAPB frame */
+/* Higher level upcall for a LAPB frame - called with sk locked */
 int nr_process_rx_frame(struct sock *sk, struct sk_buff *skb)
 {
 	nr_cb *nr = nr_sk(sk);
Index: bk-afu/net/rose/rose_route.c
===================================================================
--- bk-afu.orig/net/rose/rose_route.c	2005-01-29 23:05:54.000000000 +0000
+++ bk-afu/net/rose/rose_route.c	2005-01-31 04:23:37.111460880 +0000
@@ -727,7 +727,8 @@
 		}
 		if (rose_route.mask > 10) /* Mask can't be more than 10 digits */
 			return -EINVAL;
-
+		if(rose_route.ndigis > 8) /* No more than 8 digipeats */
+			return -EINVAL;
 		err = rose_add_node(&rose_route, dev);
 		dev_put(dev);
 		return err;

  parent reply	other threads:[~2005-01-31  4:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-30 21:21 [PATCH 1/9] Use netdev_priv in NETROM and ROSE Ralf Baechle DL5RB
     [not found] ` <20050131030602Z8225224-1340+2359@linux-mips.org>
2005-01-31  4:33   ` Ralf Baechle [this message]
2005-02-15 17:58 ` David S. Miller

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=20050131043337.GA16895@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=kevin@w1ngl.us \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox