From: Johannes Berg <johannes@sipsolutions.net>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
Greg KH <greg@kroah.com>, netdev <netdev@vger.kernel.org>
Subject: Re: [RFC][PATCH] Fix another namespace issue with devices assigned to classes
Date: Mon, 07 Jun 2010 13:41:45 +0200 [thread overview]
Message-ID: <1275910905.29978.7.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <AANLkTikMDvpEzrtFVue8gStudKONxuQmVx9B2w1JM1vO@mail.gmail.com>
On Mon, 2010-06-07 at 13:05 +0200, Kay Sievers wrote:
> > + data->dev = kzalloc(sizeof(struct device), GFP_KERNEL);
> > + if (!data->dev) {
> > err = -ENOMEM;
> > goto failed_drvdata;
> > }
> > +
> > + dev_set_name(data->dev, "hwsim%d", i);
> > + data->dev->bus = &hwsim_bus;
> > data->dev->driver = &mac80211_hwsim_driver;
> >
> > + err = device_register(data->dev);
> > + if (err) {
> > + printk(KERN_DEBUG
> > + "mac80211_hwsim: device_register failed (%d)\n",
> > + err);
> > + goto failed_drvdata;
> > + }
> >
> > (ignore the pluses, snipped from a patch) but it ran into a null ptr
> > deref?
>
> Oh, I see. It's probably something nobody ever did before. You try to
> register a bus device which has no parent. Seems that's something
> nobody ever expected to happen. :)
>
> Your driver/subsystem is completely virtual, does not depend on any
> hardware, right? If we create a virtual parent, like:
> parent = kzalloc(sizeof(struct device), GFP_KERNEL);
> dev_set_name(parent, "mac80211_hwsim");
> device_register(parent);
>
> An in your code:
> data->dev->parent = parent;
>
> That should give you a /sys/devices/mac80211_hwsim/ directory where
> all the devices you create should show up.
So that seemed equivalent to my code except for the .bus/.driver
assignments and the two-level hierarchy of course.
(mind you, I think we probably need to have the bus/driver assignment,
but I wanted to try out your suggestion first)
So I removed bus/driver assignment from the above code just to try it
out, and got
Device 'hwsim0' does not have a release() function, it is broken and
must be fixed.
This has evolved far too much for me right now. Can we just apply the
initial patch from Eric and be happier for a while? I can't justify
spending this much time on it right now. Alternatively, you could look
at hwsim too, since it's all virtual, nothing special is required, I do
testing in a virtual machine ...
current patch is at
http://johannes.sipsolutions.net/patches/kernel/all/2010-06-07-11:41/hwsim-bus.patch
johannes
next prev parent reply other threads:[~2010-06-07 11:41 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-02 13:16 sysfs class/net/ problem Johannes Berg
2010-06-02 15:46 ` Greg KH
2010-06-02 15:48 ` Johannes Berg
2010-06-02 16:17 ` Eric W. Biederman
2010-06-02 16:21 ` Johannes Berg
2010-06-02 16:43 ` Eric W. Biederman
2010-06-02 17:00 ` Johannes Berg
2010-06-02 17:23 ` Eric W. Biederman
2010-06-02 17:52 ` Johannes Berg
2010-06-02 18:05 ` Eric W. Biederman
2010-06-02 18:55 ` Johannes Berg
2010-06-02 19:12 ` Johannes Berg
2010-06-02 19:25 ` Johannes Berg
2010-06-02 23:09 ` Eric W. Biederman
2010-06-03 0:53 ` [RFC][PATCH] Fix another namespace issue with devices assigned to classes Eric W. Biederman
2010-06-03 9:30 ` Kay Sievers
2010-06-03 10:00 ` Eric W. Biederman
2010-06-04 6:54 ` Johannes Berg
2010-06-04 8:15 ` Kay Sievers
2010-06-04 8:28 ` Johannes Berg
2010-06-04 8:34 ` Kay Sievers
2010-06-06 13:08 ` Johannes Berg
2010-06-06 17:17 ` Kay Sievers
2010-06-07 9:42 ` Johannes Berg
2010-06-07 9:53 ` Kay Sievers
2010-06-07 10:14 ` Johannes Berg
2010-06-07 11:05 ` Kay Sievers
2010-06-07 11:41 ` Johannes Berg [this message]
2010-06-07 12:26 ` Kay Sievers
2010-06-07 12:36 ` Johannes Berg
2010-06-07 12:54 ` Kay Sievers
2010-06-08 9:27 ` Johannes Berg
2010-06-08 9:30 ` Kay Sievers
2010-06-08 9:45 ` Johannes Berg
2010-06-08 11:55 ` Kay Sievers
2010-06-08 12:03 ` Johannes Berg
2010-06-08 13:54 ` Kay Sievers
2010-06-08 14:06 ` Johannes Berg
2010-06-08 14:21 ` Kay Sievers
2010-06-08 14:26 ` Johannes Berg
2010-06-08 14:47 ` Kay Sievers
2010-06-08 15:06 ` Johannes Berg
2010-06-08 16:26 ` Kay Sievers
2010-06-08 16:33 ` Johannes Berg
2010-06-08 16:39 ` Kay Sievers
2010-06-11 9:55 ` Johannes Berg
2010-06-14 9:13 ` Kay Sievers
2010-06-14 9:20 ` Johannes Berg
2010-06-14 9:39 ` Kay Sievers
2010-06-20 6:20 ` [PATCH] Driver-core: Always create class directories fixing the broken network drivers Eric W. Biederman
2010-06-20 10:52 ` Kay Sievers
2010-06-20 11:33 ` Johannes Berg
2010-06-20 11:46 ` Kay Sievers
2010-06-20 12:29 ` Eric W. Biederman
2010-06-20 13:37 ` Kay Sievers
2010-06-20 12:46 ` [PATCH] Driver-core: Always create network class directories in get_device_parent Eric W. Biederman
2010-06-21 22:20 ` Greg KH
2010-06-21 23:00 ` Eric W. Biederman
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=1275910905.29978.7.camel@jlt3.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=ebiederm@xmission.com \
--cc=greg@kroah.com \
--cc=kay.sievers@vrfy.org \
--cc=netdev@vger.kernel.org \
/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 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.