All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kunihiro Ishiguro <kunihiro@ipinfusion.com>
To: Matthias Andree <matthias.andree@gmx.de>, rct@gherkin.frus.com
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux v2.5.61
Date: Sat, 15 Feb 2003 17:58:26 -0800	[thread overview]
Message-ID: <87ptptx9z1.wl@ipinfusion.com> (raw)
In-Reply-To: <20030215135345.GA16783@merlin.emma.line.org>

[-- Attachment #1: Type: text/plain, Size: 203 bytes --]

>Well, the kernel doesn't link for me when IPV6 is compiled as a module (config
>below) -- linking IPv6 in is fine.

Here is a fix for xfrm6_get_type() link problem when IPv6 is
configured as a module.


[-- Attachment #2: xfrm6_get_type.diff --]
[-- Type: application/octet-stream, Size: 3718 bytes --]

diff -ruN linux-2.5.61.orig/net/ipv4/xfrm_policy.c linux-2.5.61/net/ipv4/xfrm_policy.c
--- linux-2.5.61.orig/net/ipv4/xfrm_policy.c	2003-02-14 15:51:45.000000000 -0800
+++ linux-2.5.61/net/ipv4/xfrm_policy.c	2003-02-15 16:11:43.000000000 -0800
@@ -1228,3 +1228,48 @@
 	xfrm_state_init();
 	xfrm_input_init();
 }
+
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+
+static struct xfrm_type *xfrm6_type_map[256];
+static rwlock_t xfrm6_type_lock = RW_LOCK_UNLOCKED;
+
+int xfrm6_register_type(struct xfrm_type *type)
+{
+	int err = 0;
+
+	write_lock(&xfrm6_type_lock);
+	if (xfrm6_type_map[type->proto] == NULL)
+		xfrm6_type_map[type->proto] = type;
+	else
+		err = -EEXIST;
+	write_unlock(&xfrm6_type_lock);
+	return err;
+}
+
+int xfrm6_unregister_type(struct xfrm_type *type)
+{
+	int err = 0;
+
+	write_lock(&xfrm6_type_lock);
+	if (xfrm6_type_map[type->proto] != type)
+		err = -ENOENT;
+	else
+		xfrm6_type_map[type->proto] = NULL;
+	write_unlock(&xfrm6_type_lock);
+	return err;
+}
+
+struct xfrm_type *xfrm6_get_type(u8 proto)
+{
+	struct xfrm_type *type;
+
+	read_lock(&xfrm6_type_lock);
+	type = xfrm6_type_map[proto];
+	if (type && !try_module_get(type->owner))
+		type = NULL;
+	read_unlock(&xfrm6_type_lock);
+	return type;
+}
+
+#endif
diff -ruN linux-2.5.61.orig/net/ipv6/Makefile linux-2.5.61/net/ipv6/Makefile
--- linux-2.5.61.orig/net/ipv6/Makefile	2003-02-14 15:52:25.000000000 -0800
+++ linux-2.5.61/net/ipv6/Makefile	2003-02-15 16:10:13.000000000 -0800
@@ -11,5 +11,3 @@
 		ip6_flowlabel.o ipv6_syms.o
 
 obj-$(CONFIG_NETFILTER)	+= netfilter/
-
-obj-y += xfrm_policy.o
diff -ruN linux-2.5.61.orig/net/ipv6/ipv6_syms.c linux-2.5.61/net/ipv6/ipv6_syms.c
--- linux-2.5.61.orig/net/ipv6/ipv6_syms.c	2003-02-14 15:52:09.000000000 -0800
+++ linux-2.5.61/net/ipv6/ipv6_syms.c	2003-02-15 16:10:24.000000000 -0800
@@ -26,6 +26,3 @@
 EXPORT_SYMBOL(inet6_ioctl);
 EXPORT_SYMBOL(ipv6_get_saddr);
 EXPORT_SYMBOL(ipv6_chk_addr);
-EXPORT_SYMBOL(xfrm6_register_type);
-EXPORT_SYMBOL(xfrm6_unregister_type);
-EXPORT_SYMBOL(xfrm6_get_type);
diff -ruN linux-2.5.61.orig/net/ipv6/xfrm_policy.c linux-2.5.61/net/ipv6/xfrm_policy.c
--- linux-2.5.61.orig/net/ipv6/xfrm_policy.c	2003-02-14 15:52:25.000000000 -0800
+++ linux-2.5.61/net/ipv6/xfrm_policy.c	1969-12-31 16:00:00.000000000 -0800
@@ -1,43 +0,0 @@
-#include <net/xfrm.h>
-#include <net/ip.h>
-
-static struct xfrm_type *xfrm6_type_map[256];
-static rwlock_t xfrm6_type_lock = RW_LOCK_UNLOCKED;
-
-int xfrm6_register_type(struct xfrm_type *type)
-{
-	int err = 0;
-
-	write_lock(&xfrm6_type_lock);
-	if (xfrm6_type_map[type->proto] == NULL)
-		xfrm6_type_map[type->proto] = type;
-	else
-		err = -EEXIST;
-	write_unlock(&xfrm6_type_lock);
-	return err;
-}
-
-int xfrm6_unregister_type(struct xfrm_type *type)
-{
-	int err = 0;
-
-	write_lock(&xfrm6_type_lock);
-	if (xfrm6_type_map[type->proto] != type)
-		err = -ENOENT;
-	else
-		xfrm6_type_map[type->proto] = NULL;
-	write_unlock(&xfrm6_type_lock);
-	return err;
-}
-
-struct xfrm_type *xfrm6_get_type(u8 proto)
-{
-	struct xfrm_type *type;
-
-	read_lock(&xfrm6_type_lock);
-	type = xfrm6_type_map[proto];
-	if (type && !try_module_get(type->owner))
-		type = NULL;
-	read_unlock(&xfrm6_type_lock);
-	return type;
-}
diff -ruN linux-2.5.61.orig/net/netsyms.c linux-2.5.61/net/netsyms.c
--- linux-2.5.61.orig/net/netsyms.c	2003-02-14 15:51:31.000000000 -0800
+++ linux-2.5.61/net/netsyms.c	2003-02-15 16:10:46.000000000 -0800
@@ -328,6 +328,9 @@
 EXPORT_SYMBOL(xfrm6_state_lookup);
 EXPORT_SYMBOL(xfrm6_find_acq);
 EXPORT_SYMBOL(xfrm6_alloc_spi);
+EXPORT_SYMBOL(xfrm6_register_type);
+EXPORT_SYMBOL(xfrm6_unregister_type);
+EXPORT_SYMBOL(xfrm6_get_type);
 #endif
 
 EXPORT_SYMBOL_GPL(xfrm_probe_algs);

  reply	other threads:[~2003-02-16  1:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-15  1:11 Linux v2.5.61 Linus Torvalds
2003-02-15  9:07 ` 2.5.61: tms380tr.c no longer compiles Adrian Bunk
2003-02-15  9:35   ` Jochen Friedrich
2003-02-15 13:53     ` Adrian Bunk
2003-02-15 13:53 ` Linux v2.5.61 Matthias Andree
2003-02-16  1:58   ` Kunihiro Ishiguro [this message]
2003-02-16 10:03     ` David Woodhouse
2003-02-17 11:20       ` Erik Hensema
2003-02-15 18:35 ` Christoph Hellwig
2003-02-15 18:45   ` Jeff Garzik
2003-02-15 18:49     ` Christoph Hellwig
2003-02-16 21:32     ` Pavel Machek
2003-02-17 23:56       ` Jeff Garzik
2003-02-17 19:35 ` John Cherry
2003-02-18  0:52   ` Linux v2.5.62 John Cherry
2003-02-18 12:14   ` Linux v2.5.61 Oleg Drokin
2003-02-19  0:43     ` Bob Miller
     [not found] <Pine.LNX.4.44.0302141709410.1376-100000@penguin.transmeta. com>
2003-02-15  2:17 ` Max Krasnyansky

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=87ptptx9z1.wl@ipinfusion.com \
    --to=kunihiro@ipinfusion.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthias.andree@gmx.de \
    --cc=rct@gherkin.frus.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.