Kernel 2.1.x & modules

Kernel 2.1.x & modules

Post by Greg Sawick » Thu, 10 Oct 1996 04:00:00



Hi everybody,

I upgraded from 2.0.21 to 2.1.0 and then 2.1.1
My modules got broken :(

I have seen few postings on that. Authors of all answers I have seen
assumed that everybody knows at least as much as they do. I quietly and
kindly ask again:
What is broken and has to be patched?
1. kernel ?
2. modules ?
3. libc ?
4. all of the above ?

Is there an officila modules patch if they are broken? I have seen three
diffrent patches for modules supposedly addresing this problem. Which is
correct?

Anything sheding light on that will be greatly appreciated.

Regards
Greg Sawicki

 
 
 

Kernel 2.1.x & modules

Post by Myles Uye » Fri, 11 Oct 1996 04:00:00



>I have seen few postings on that. Authors of all answers I have seen
>assumed that everybody knows at least as much as they do. I quietly and
>kindly ask again:
>What is broken and has to be patched?
>1. kernel ?
>2. modules ?
>3. libc ?

libc has been patch to allow loading of modules (5.4.8).
insmod has also been patched to achieve the same effect.
I would think the libc patch would be better, as it would
be more 'universal' in the system.

I also have a web page following up on the Development Kernels.
http://www2.nether.net/~myles/linux.html
--
Myles Uyema


 
 
 

Kernel 2.1.x & modules

Post by Markus Gutschk » Sat, 12 Oct 1996 04:00:00




> >I have seen few postings on that. Authors of all answers I have seen
> >assumed that everybody knows at least as much as they do. I quietly and
> >kindly ask again:
> >What is broken and has to be patched?
> >1. kernel ?
> >2. modules ?
> >3. libc ?

> libc has been patch to allow loading of modules (5.4.8).
> insmod has also been patched to achieve the same effect.
> I would think the libc patch would be better, as it would
> be more 'universal' in the system.

Patching "libc" is the _proper_ thing to do, but as a work-around you
can also patch "insmod". Just edit modules-2.0.0/insmod/insmod.c; in
line 816 right after calling create_module() you have to insert these
lines:

  /* the preceding may fail since the address in the kernel space
   * may be greater than 2G. Then addr = -1 and errno = -(realaddr).
   * We'll check for that and correct.  Boy I hope errno and addr
   * are the same size.
   * Note: this means we can't use the last page in virtual memory.
   */
  if( errno > 4095 ) {
    addr = sizeof(int)-errno; /* reverse the math from create_module */
    errno = 0;
    /*     insmod_error ("Address wrap bug: %lx", addr); */
  }

I got this patch from the developers' mailing list and I believe as
far as work-arounds are concerned it is a pretty good one. It does not
break any existing code and it will continue working even after
applying the correct fix, that is after upgrading your libc.

Markus

 
 
 

Kernel 2.1.x & modules

Post by Alexander San » Sun, 13 Oct 1996 04:00:00



 >I have seen few postings on that. Authors of all answers I have seen
 >assumed that everybody knows at least as much as they do. I quietly and
 >kindly ask again:
 >What is broken and has to be patched?
 >1. kernel ?

no

 >2. modules ?

no

 >3. libc ?

yes. The problem is actually caused by a bug in libc. There is a patch
for libc-5.4.7 (on tsx-11, I think). I have also heard, that libc-5.4.8
(should be out soon) will fix it too.

 >4. all of the above ?
 >
 >Is there an officila modules patch if they are broken? I have seen three
 >diffrent patches for modules supposedly addresing this problem. Which is
 >correct?

Patching insmod.c is another method to solve the problem. There is a
patch for insmod (you need insmod-2.0.0 sources) on my webpage:

http://www.geocities.com/SiliconValley/Park/3000/victims2_1.html

--

#  http://www.ping.at/members/alexa/            powered by Linux  2.0  #
------------------------------------------------------------------------

 
 
 

1. Ft. Worth - Linux Kernel Module Programmer - Unix kernel modules & Unix device drivers

Linux Kernel Module Programmer - A very loose environment, casual attire,
needs an intermediate to advanced Linux Kernel Module Programmer
immediately for a critical role. This person must have specific experience
in programming Unix kernel modules or drivers and TCP/sockets, preferably
with Linux kernel modules or drivers, or an understanding or experience of
parallel and distributed processing. Program a Linux kernal module to
fulfill the need for a routing program performing communications and shared
server resource management on web servers. These programming tasks are below
the socket level, but some manipulation of sockets is part of the tasks.
This person will perform cutting edge server applications development in a
parallel and distributed environment. This experience is a huge resume
boost.

Required Skills: MUST HAVE experience in programming a Unix or Linux KERNAL
MODULE or DRIVER! ... and C / Unix, networks and protocols, an innovative
mind that enjoys thinking out of the box, good work ethic, work well alone,
self motivated, requires little supervision.

Desired Skills: parallel and distributed processing.

Start Date: ASAP

Type: - Permanent -

Pay Range: $60,000 - $65,000 Annual
+stock options

Benefits: Health Insurance, Life Insurance, Dental Insurance, Disability
Insurance, Paid Vacation, Paid Sick Leave, Stock Options, Flex Time

Location: Ft. Worth , TX - Hurst, TX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TO APPLY, PLEASE CALL OR FORWARD RESUME TO:

Larry Bergstrom
Computer Staff, LLC
1701 W. Northwest Highway
Grapevine, Texas 76051-8105

OFFICE metro  (817) 329-5009
FAX   (817) 329-5091
WEBSITE:  http://www.compstaffonline.com/listings.html
HOME  (817) 251-2029
MOBILE  (817) 723-4298
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Information Technology Contract & Permanent Placement Services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALL RESUME RESPONDENTS ARE HELD CONFIDENTIAL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2. Embedded linux in 32 bit microcontroller

3. Compiling 2.1.xx kernels - problem with modules

4. Linux Installfest - April 21st

5. Updating modules for 2.1.x kernels

6. __get_user usage in mm/slab.c

7. compiling modules for kernel 2.1.*

8. What is a bz file and how to open it?

9. Kernel 2.1 and modules

10. prob w Netscape 2.1 and Red Hat Linux 2.1 (kernel 1.2.13)

11. Kernel 2.1 broke masq & NFS-root, ick.

12. Schneider & Koch network card on series 2.1.xx kernels

13. Floating-point exception with DU emulation & 2.1 kernel?