All of lore.kernel.org
 help / color / mirror / Atom feed
* modprobe problem with block-major-11
@ 2001-10-25  4:53 Mike Castle
  2001-10-25  5:51 ` Keith Owens
  0 siblings, 1 reply; 8+ messages in thread
From: Mike Castle @ 2001-10-25  4:53 UTC (permalink / raw)
  To: Linux Kernel List

If there is a better list for this, let me know and I'll take the question
there.

I have a new CDRW I've been trying to get working for a couple of months
now.  Working with autoloading the modules anyway.

I've tried following the CD-Writing HOWTO for setting up modules.conf with
no luck.

Currently my modules.conf has:
options ide-cd ignore=hdc            # tell the ide-cd module to ignore h
alias block-major-11 sr_mod          # load sr_mod upon access of scd0
pre-install sg     modprobe ide-scsi # load ide-scsi before sg
pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod
pre-install ide-scsi modprobe ide-cd # load ide-cd   before ide-scsi

And lilo.conf has:
append="hdc=scsi"

Of course, also tried hdc=ide-scsi with same results.

Now, if I try something like ``head /dev/scd0''  I see the following in
dmesg:
SCSI subsystem driver Revision: 1.00
Uniform CD-ROM driver unloaded

And the following in /var/log/ksymoops:
20011024 214049 start /sbin/modprobe -s -k -- block-major-11 safemode=1
20011024 214050 probe ended

Now, if I take the command from that:
/sbin/modprobe -s -k -- block-major-11

I get the following:
thune:~# /sbin/modprobe -s -k -- block-major-11
Warning: loading /lib/modules/2.4.12/kernel/drivers/cdrom/cdrom.o will
taint the kernel: no license
Warning: loading /lib/modules/2.4.12/kernel/drivers/ide/ide-cd.o will taint the
kernel: no license
ide-cd: ignoring drive hdc
  Vendor: PHILIPS   Model: PCRW804           Rev:  2,1
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray

ksymoops has:
20011024 214923 start /sbin/modprobe -s -k -- block-major-11 safemode=0
20011024 214923 start modprobe ide-scsi safemode=0
20011024 214923 start modprobe ide-cd safemode=0
20011024 214924 probe ended
20011024 214924 probe ended
20011024 214924 probe ended

And dmesg shows:
CSI subsystem driver Revision: 1.00
ide-cd: ignoring drive hdc
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: PHILIPS   Model: PCRW804           Rev:  2,1
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12


So, it appears to me that the autoloading should work.  But it's not.

What am I missing?

Help appreciated,
mrc
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25  4:53 modprobe problem with block-major-11 Mike Castle
@ 2001-10-25  5:51 ` Keith Owens
  2001-10-25  7:52   ` Mike Castle
  2001-10-25  8:09   ` Mike Castle
  0 siblings, 2 replies; 8+ messages in thread
From: Keith Owens @ 2001-10-25  5:51 UTC (permalink / raw)
  To: Mike Castle; +Cc: Linux Kernel List

On Wed, 24 Oct 2001 21:53:28 -0700, 
Mike Castle <dalgoda@ix.netcom.com> wrote:
>Currently my modules.conf has:
>options ide-cd ignore=hdc            # tell the ide-cd module to ignore h
>alias block-major-11 sr_mod          # load sr_mod upon access of scd0
>pre-install sg     modprobe ide-scsi # load ide-scsi before sg
>pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod
>pre-install ide-scsi modprobe ide-cd # load ide-cd   before ide-scsi

Is that the complete modules.conf?  The messages below imply that you
have other options and/or commands in there.

>Now, if I try something like ``head /dev/scd0''  I see the following in
>dmesg:
>SCSI subsystem driver Revision: 1.00
>Uniform CD-ROM driver unloaded
>
>And the following in /var/log/ksymoops:
>20011024 214049 start /sbin/modprobe -s -k -- block-major-11 safemode=1
>20011024 214050 probe ended

Check syslog for any error messages.  The only unusual thing is that
modprobe is running in safe mode (user supplied input data) which
suppresses some command expansions.  Post your entire modules.conf
exactly as is, i.e. read the file into your mail, do not cut and paste
it.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25  5:51 ` Keith Owens
@ 2001-10-25  7:52   ` Mike Castle
  2001-10-25 13:03     ` Keith Owens
  2001-10-25  8:09   ` Mike Castle
  1 sibling, 1 reply; 8+ messages in thread
From: Mike Castle @ 2001-10-25  7:52 UTC (permalink / raw)
  To: Linux Kernel List

On Thu, Oct 25, 2001 at 03:51:36PM +1000, Keith Owens wrote:
> On Wed, 24 Oct 2001 21:53:28 -0700, 
> Mike Castle <dalgoda@ix.netcom.com> wrote:
> >Now, if I try something like ``head /dev/scd0''  I see the following in
> >dmesg:
> >SCSI subsystem driver Revision: 1.00
> >Uniform CD-ROM driver unloaded
> >
> >And the following in /var/log/ksymoops:
> >20011024 214049 start /sbin/modprobe -s -k -- block-major-11 safemode=1
> >20011024 214050 probe ended
> 
> Check syslog for any error messages.  The only unusual thing is that

Only thing in syslog around that time:
Oct 24 21:40:49 thune kernel: SCSI subsystem driver Revision: 1.00 
Oct 24 21:40:50 thune insmod: /lib/modules/2.4.12/kernel/drivers/cdrom/cdrom.o: pre-install sr_mod failed
Oct 24 21:40:50 thune insmod: /lib/modules/2.4.12/kernel/drivers/cdrom/cdrom.o: insmod block-major-11 failed
Oct 24 21:40:50 thune kernel: Uniform CD-ROM driver unloaded 

> modprobe is running in safe mode (user supplied input data) which
> suppresses some command expansions.  Post your entire modules.conf
> exactly as is, i.e. read the file into your mail, do not cut and paste
> it.

A lot of cruft from over the years.

Also output from lsmod, since modules.conf implies more than I actually
load:

Module                  Size  Used by
sg                     26756   1  (autoclean)
sr_mod                 12184   1  (autoclean)
ide-scsi                7488   2 
ide-cd                 26240   0 
cdrom                  27200   0  (autoclean) [sr_mod ide-cd]
scsi_mod               58572   3  (autoclean) [sg sr_mod ide-scsi]
nfsd                   64864   1  (autoclean)
lockd                  46688   1  (autoclean) [nfsd]
sunrpc                 58388   1  (autoclean) [nfsd lockd]
ip_nat_ftp              2944   0  (autoclean) (unused)
ip_conntrack_ftp        3200   0  (autoclean) (unused)
iptable_nat            12756   1  (autoclean) [ip_nat_ftp]
ip_conntrack           12908   2  (autoclean) [ip_nat_ftp ip_conntrack_ftp iptable_nat]
ip_tables              10400   3  [iptable_nat]
ne2k-pci                4768   1  (autoclean)
8390                    5920   0  (autoclean) [ne2k-pci]
tulip                  35520   1  (autoclean)
lvm-mod                44704  10  (autoclean)
md                     43520   0  (autoclean) (unused)
unix                   13700  36  (autoclean)

:r /etc/modules.conf
alias block-major-58  lvm-mod
alias char-major-109  lvm-mod

alias char-major-14 sb
options sb irq=5 io=0x220 dma=1 dma16=5

add above sb adlib_card
options adlib_card io=0x388

alias parport_lowlevel parport_pc

alias char-major-15 joystick

alias block-major-8 ppa
add above ppa sd_mod

#pre-install serial  modprobe -k lirc_serial
alias char-major-61 lirc_serial
options lirc_serial port=0x2f8 irq=3

alias eth0 tulip
alias eth1 ne2k-pci
# TV
alias   char-major-81    videodev
alias   char-major-81-0  bttv
#pre-install bttv        modprobe -k msp3400; modprobe -k tuner
pre-install bttv        modprobe -k tuner
options bttv            radio=0 pll=0 card=0
options tuner           debug=1 type=0

add above ip_conntrack ip_conntrack_ftp
add above iptable_nat ip_nat_ftp

options ide-cd ignore=hdc            # tell the ide-cd module to ignore h
alias block-major-11 sr_mod          # load sr_mod upon access of scd0
pre-install sg     modprobe ide-scsi # load ide-scsi before sg
pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod
pre-install ide-scsi modprobe ide-cd # load ide-cd   before ide-scsi
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25  5:51 ` Keith Owens
  2001-10-25  7:52   ` Mike Castle
@ 2001-10-25  8:09   ` Mike Castle
  1 sibling, 0 replies; 8+ messages in thread
From: Mike Castle @ 2001-10-25  8:09 UTC (permalink / raw)
  To: Linux Kernel List

On Thu, Oct 25, 2001 at 03:51:36PM +1000, Keith Owens wrote:
> Check syslog for any error messages.  The only unusual thing is that
> modprobe is running in safe mode (user supplied input data) which

Ok.  Another point of interest.

If I do ``head /dev/scd0'' as a user, it fails.

If I do ``head /dev/scd0'' as root, it works.

I had always thought that since I could autoload the sound stuff as a
normal user, that this would work as well.

Course, I also just noticed that rmmod -a doesn't unload modules either.
Grrrr.

mrc
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25  7:52   ` Mike Castle
@ 2001-10-25 13:03     ` Keith Owens
  2001-10-25 16:39       ` Mike Castle
  2001-10-25 18:51       ` Mike Castle
  0 siblings, 2 replies; 8+ messages in thread
From: Keith Owens @ 2001-10-25 13:03 UTC (permalink / raw)
  To: Mike Castle; +Cc: Linux Kernel List

On Thu, 25 Oct 2001 00:52:03 -0700, 
Mike Castle <dalgoda@ix.netcom.com> wrote:
>alias block-major-11 sr_mod          # load sr_mod upon access of scd0
>pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod

* User does 'head /dev/scd0'.
* The kernel runs modprobe block-major-11.  modprobe is running
  setuid(0) because the original user was not root.
* modprobe maps block-major-11 to sr_mod.
* modprobe sees a pre-install command for sr_mod and uses system() to
  invoke the command.
* The system() function issues '/bin/sh -c "command"', sh is linked to
  bash.
* Bash detects that it was invoked as 'sh' and is running setuid.  Bash
  silently turns off the setuid privilege before running the command.
  WRONG!!
* The second command (modprobe ide-scsi) needs root authority but bash
  has removed the authority.  modprobe fails :(

The problem is caused by a bash "feature", it was added in bash 2.01.
I cannot fix it without writing my own replacement for the system()
function.  Doing setuid(0) in modprobe before calling system() would
reopen the security exposure that was closed in modutils 2.3.21, that
is not an option.

Workaround: Replace 
  pre-install foo modprobe bar
with
  before foo bar
That does all the work internally without using the system() function
and falling foul of the bash feature.  It is also faster and it lets
modprobe maintain the chain of modules for unload.

BTW, users can never run rmmod, only root can do that.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25 13:03     ` Keith Owens
@ 2001-10-25 16:39       ` Mike Castle
  2001-10-25 18:20         ` Mike Castle
  2001-10-25 18:51       ` Mike Castle
  1 sibling, 1 reply; 8+ messages in thread
From: Mike Castle @ 2001-10-25 16:39 UTC (permalink / raw)
  To: Linux Kernel List

On Thu, Oct 25, 2001 at 11:03:56PM +1000, Keith Owens wrote:
> The problem is caused by a bash "feature", it was added in bash 2.01.

Gotcha.  I take it you've seen this before then?  :->

I didn't see any mention of this the docs.  Would it be worth while to add
what you just wrote to a PROBLEMS file?

> Workaround: Replace 
>   pre-install foo modprobe bar
> with
>   before foo bar

Will do.

> That does all the work internally without using the system() function
> and falling foul of the bash feature.  It is also faster and it lets
> modprobe maintain the chain of modules for unload.
> 
> BTW, users can never run rmmod, only root can do that.

Right.  But it IS with root that rmmod -a is failing.

Maybe I'll get lucky and it will magically start working when I switch to
the above?

Appreciate your help!
mrc
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25 16:39       ` Mike Castle
@ 2001-10-25 18:20         ` Mike Castle
  0 siblings, 0 replies; 8+ messages in thread
From: Mike Castle @ 2001-10-25 18:20 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: Mike Castle

On Thu, Oct 25, 2001 at 09:39:05AM -0700, Mike Castle wrote:
> I didn't see any mention of this the docs.  Would it be worth while to add
> what you just wrote to a PROBLEMS file?

Though, upon retrospect, I think ISSUES would be a better file name.

mrc
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modprobe problem with block-major-11
  2001-10-25 13:03     ` Keith Owens
  2001-10-25 16:39       ` Mike Castle
@ 2001-10-25 18:51       ` Mike Castle
  1 sibling, 0 replies; 8+ messages in thread
From: Mike Castle @ 2001-10-25 18:51 UTC (permalink / raw)
  To: Linux Kernel List

On Thu, Oct 25, 2001 at 11:03:56PM +1000, Keith Owens wrote:
> Workaround: Replace 
>   pre-install foo modprobe bar
> with
>   before foo bar

Actually, below foo bar, but that worked great.

I will ask the authors of CD-Writing-HOWTO to update their docs.

Thanks,
mrc
-- 
     Mike Castle      dalgoda@ix.netcom.com      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2001-10-25 18:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-25  4:53 modprobe problem with block-major-11 Mike Castle
2001-10-25  5:51 ` Keith Owens
2001-10-25  7:52   ` Mike Castle
2001-10-25 13:03     ` Keith Owens
2001-10-25 16:39       ` Mike Castle
2001-10-25 18:20         ` Mike Castle
2001-10-25 18:51       ` Mike Castle
2001-10-25  8:09   ` Mike Castle

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.