Re: modprobe: Cannot load blacklisted module by symbol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Thu, 23 May 2013 15:13:16 -0300,
Lucas De Marchi wrote:
> 
> Hi David,
> 
> On Thu, May 23, 2013 at 2:38 PM, David Henningsson
> <david.henningsson@xxxxxxxxxxxxx> wrote:
> > Hi Lucas,
> >
> > I'm not sure if you're the right person to contact, if not, feel free to
> > redirect me.
> 
> Yes, but make sure to CC the mailing list (done now).
> 
> >
> > While debugging and testing some other code, we were trying to use the
> > kernel symbol_request() call. This does not work if the module to be loaded
> > is blacklisted, whereas module_request() for the same module succeeds.
> > E g, when "i915" is blacklisted, loading "i915" still succeeds, but not
> > "symbol:i915_gpu_busy".
> >
> > I think I've traced this down to this commit [1]. Is this expected
> > behaviour? We certainly did not expect it.
> 
> Yes, that's because blacklist doesn't apply to the module names,
> unless "-b" is given (which I would expect to be the normal behavior,
> but this inherited from module-init-tools).
> 
> Since symbol:i915_gpu_busy is treated as an alias, the blacklist
> applies for this one though.
> 
> Why do you want to load i915 by symbol if it's blacklisted?

We're trying to implement the dynamic binding of i915 symbol to be
called from HD-audio driver.  The call of i915 function is needed for
controlling the i915 graphics power well feature which also influences
on the HDMI audio (that is over the graphics, after all).

The dynamic binding was proposed so that we don't have to introduce a
strict dependency to snd-hda-intel module on i915, since the audio
driver is used generically for all HD-audio hardware, not only for
Intel but for AMD or whatever.  Obviously non-Intel hardware don't
want to load i915 module.

Now, the question is which behavior is _more_ correct.

A: If i915 module is blacklisted, it can be seen as an undesired
   driver, so we should refuse the corresponding audio device, too.

B: Even if i915 module is blacklisted, we should load it when a module
   depending on it is loaded.

If the dependency between modules is explicit, currently it behaves
like B.  E.g. even if the module "drm" is blacklisted, it'll be loaded
forcibly if you load the module "i915".  So, from the POV, the
implicit dependency should behave like B.

OTOH, in the case of HD-audio HDMI audio, the option A makes also
sense.  User doesn't want to i915 video, so the HDMI audio shouldn't
be used, too.

So, if I would have to choose, I'd select A.  But it's not strong
opinion at all, and I'd like to hear others.


thanks,

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux