Unloading LiS 2.19 may cause Kernel Panic

Symptom

When using a RedHat kernel compatible with RedHat Enterprise Linux 4 Update 8 (or higher), a kernel panic may occur when unloading Linux STREAMS (LiS) 2.19.1. 

Reason for the issue

The function __module_get is used to place a reference counter on a particular module in order to make sure that it cannot be unloaded while in use.  This was required in the 2.4 Linux kernel tree.  In the 2.6 kernel, this is no longer necessary as the kernel handles the reference count.

LiS maintained this reference count to its module for backwards compatibility.  There may be an issue when the reference count is adjusted by both the kernel and LiS, causing a kernel panic when attempting to unload LiS.

Fix / Solution

LiS has been modified to disable the use of the __module_get function, allowing the kernel to maintain the module reference count, as it was designed to do in 2.6 kernels.  This modified version of LiS will be packaged with all System Release 6.1 Service Updates from SU 318.

Workaround

The modified LiS version may be installed without installing a complete Service Update: download modified LiS version here. -   

Uninstall the previously installed LiS version by following these commands: (For this example, "LiS" will be the name of the directory for the LiS installation)

  1. cd /usr/src/LiS 

  2. make very-clean

  3. cd ..

  4. rm -rf /usr/src/LiS 

This will remove LiS from the directory.  To install the new version, follow these steps:

  1. Untar LiS-2.19.1_4U8.tgz ( )

  1. cd LiS-2.19

  2. make (when running through make, choose all defaults)

  3. make install

  4. streams start (this will load the LiS drivers)

6 (optional) streams stop (this will unload the LiS drivers without panic)

Product List

This relates to all Dialogic® JCT Media Boards installed under RedHat Enterprise Linux Version 4  Update 8 or higher.

Return to Documentation Home I Return to Sangoma Support