Package: s390-netdevice
Version: 0.0.6
Severity: important
Tags: patch

"type_text" (=="iucv") is not the right identifier for doing a modprobe
if the device is IUCV.  The iucv module provides the IUCV base
functions, but the netiucv module provides an interface suitable for 
treating like a NIC.  This is done to allow iucv to act as a general
inter-virtual-machine communications path, even in the absence of
TCP/IP.

A patch is attached to correct the issue.

Adam

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (700, 'testing')
Architecture: s390Locale: LANG=C, LC_CTYPE=C
Kernel: Linux 2.4.17

--- netdevice.c.orig    2004-07-09 12:31:44.000000000 -0400
+++ netdevice.c 2004-07-09 12:01:46.000000000 -0400
@@ -476,7 +476,7 @@
 static int setup (void)
 {
        FILE *f;
-       char buf[256], buf1[256] = "", *ptr = NULL;
+       char buf[256], buf1[256] = "", buf2[256], *ptr = NULL;
 
        if (mkdir ("/etc/modutils", 777) && errno != EEXIST)
                return 1;
@@ -486,6 +486,7 @@
                case TYPE_QETH:
                case TYPE_CTC:
                case TYPE_LCS:
+                        strncpy(buf2,type_text,sizeof(type_text));
                        if (strlen (chandev_parm))
                                ptr = chandev_parm;
 
@@ -521,6 +522,10 @@
                        break;
 
                case TYPE_IUCV:
+                        strncpy(buf2,"netiucv",sizeof("netiucv"));
+                       /* This is necessary because the "iucv" module */
+                        /*  provides the basic IUCV functions, but the */
+                       /* "netiucv" module provides TCP/IP support.   */
                        f = fopen("/etc/modutils/netiucv", "a");
                        if (!f)
                                 return 1;
@@ -532,7 +537,7 @@
                        break;
        }
 
-       snprintf (buf, sizeof (buf), "modprobe %s %s", type_text, buf1);
+       snprintf (buf, sizeof (buf), "modprobe %s %s", buf2, buf1);
 
        di_exec_shell_log (buf);
 

Reply via email to