linux-modules.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Lucas De Marchi <lucas.de.marchi@gmail.com>
Cc: David Henningsson <david.henningsson@canonical.com>,
	Wang Xingchao <xingchao.wang@intel.com>,
	linux-modules <linux-modules@vger.kernel.org>
Subject: Re: modprobe: Cannot load blacklisted module by symbol
Date: Fri, 24 May 2013 11:04:20 +0200	[thread overview]
Message-ID: <s5hwqqou4tn.wl%tiwai@suse.de> (raw)
In-Reply-To: <CAKi4VAKZ-QzUgpohYjp4nSwfT4g3XSm-dt4Z67g3ADePw5K5_Q@mail.gmail.com>

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@canonical.com> 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

  reply	other threads:[~2013-05-24  9:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <519E5423.3020902@canonical.com>
2013-05-23 18:13 ` modprobe: Cannot load blacklisted module by symbol Lucas De Marchi
2013-05-24  9:04   ` Takashi Iwai [this message]
2013-05-24 11:35   ` David Henningsson
2013-06-02 17:13     ` Lucas De Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hwqqou4tn.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=david.henningsson@canonical.com \
    --cc=linux-modules@vger.kernel.org \
    --cc=lucas.de.marchi@gmail.com \
    --cc=xingchao.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).