Subject: kern/3428: lkm "if_ipl" still can't be loaded.
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@lyssa.owl.de>
List: netbsd-bugs
Date: 04/01/1997 12:32:16
>Number:         3428
>Category:       kern
>Synopsis:       lkm "if_ipl" still can't be loaded.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr  1 02:35:02 1997
>Last-Modified:
>Originator:     Matthias Scheler
>Organization:
Matthias Scheler                                http://home.pages.de/~tron/
>Release:        NetBSD-1.2D 970331
>Environment:
System: NetBSD lyssa 1.2D NetBSD 1.2D (LYSSA) #0: Tue Apr 1 11:12:49 MEST 1997 tron@lyssa:/usr/src/sys/arch/i386/compile/LYSSA i386

>Description:
The IP filter lkm still doesn't match the current changes of the ip filter
function names.

>How-To-Repeat:
modload /usr/lkm/if_ipl.o -e if_ipl_lkmentry -o /var/lkm/if_ipl

>Fix:
*** src/sys/lkm/netinet/if_ipl/mln_ipl.c.orig	Sun Mar 30 03:54:51 1997
--- src/sys/lkm/netinet/if_ipl/mln_ipl.c	Tue Apr  1 12:31:02 1997
*************** extern	int	lkmenodev __P((void));
*** 75,81 ****
  static	int	ipl_unload __P((void));
  static	int	ipl_load __P((void));
  static	int	ipl_remove __P((void));
! int	xxxinit __P((struct lkm_table *, int, int));
  
  
  #if (defined(NetBSD1_0) && (NetBSD1_0 > 1)) || \
--- 75,81 ----
  static	int	ipl_unload __P((void));
  static	int	ipl_load __P((void));
  static	int	ipl_remove __P((void));
! int	if_ipl_lkmentry	__P((struct lkm_table *, int, int));
  
  
  #if (defined(NetBSD1_0) && (NetBSD1_0 > 1)) || \
*************** int cmd;
*** 143,152 ****
--- 143,156 ----
  
  		ipl_major = i;
  		args->lkm_offset = i;   /* slot in cdevsw[] */
+ #ifdef DEBUG
  		printf("IP Filter: loaded into slot %d\n", ipl_major);
+ #endif
  		return ipl_load();
  	case LKM_E_UNLOAD :
+ #ifdef DEBUG
  		printf("IP Filter: unloaded from slot %d\n", ipl_major);
+ #endif
  		return ipl_unload();
  	case LKM_E_STAT :
  		break;
*************** static int ipl_unload()
*** 197,203 ****
  	 * Unloading - remove the filter rule check from the IP
  	 * input/output stream.
  	 */
! 	error = ipl_detach();
  
  	if (!error)
  		error = ipl_remove();
--- 201,207 ----
  	 * Unloading - remove the filter rule check from the IP
  	 * input/output stream.
  	 */
! 	error = ipl_disable();
  
  	if (!error)
  		error = ipl_remove();
>Audit-Trail:
>Unformatted: