<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/configfs, branch linux-2.6.25.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-02-15T05:13:33Z</updated>
<entry>
<title>Introduce path_put()</title>
<updated>2008-02-15T05:13:33Z</updated>
<author>
<name>Jan Blunck</name>
</author>
<published>2008-02-15T03:34:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d957f9bf87da74f420424d16ece005202bbebd3'/>
<id>urn:sha1:1d957f9bf87da74f420424d16ece005202bbebd3</id>
<content type='text'>
* Add path_put() functions for releasing a reference to the dentry and
  vfsmount of a struct path in the right order

* Switch from path_release(nd) to path_put(&amp;nd-&gt;path)

* Rename dput_path() to path_put_conditional()

[akpm@linux-foundation.org: fix cifs]
Signed-off-by: Jan Blunck &lt;jblunck@suse.de&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruen@suse.de&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: &lt;linux-fsdevel@vger.kernel.org&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Steven French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Embed a struct path into struct nameidata instead of nd-&gt;{dentry,mnt}</title>
<updated>2008-02-15T05:13:33Z</updated>
<author>
<name>Jan Blunck</name>
</author>
<published>2008-02-15T03:34:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ac9137858e08a19f29feac4e1f4df7c268b0ba5'/>
<id>urn:sha1:4ac9137858e08a19f29feac4e1f4df7c268b0ba5</id>
<content type='text'>
This is the central patch of a cleanup series. In most cases there is no good
reason why someone would want to use a dentry for itself. This series reflects
that fact and embeds a struct path into nameidata.

Together with the other patches of this series
- it enforced the correct order of getting/releasing the reference count on
  &lt;dentry,vfsmount&gt; pairs
- it prepares the VFS for stacking support since it is essential to have a
  struct path in every place where the stack can be traversed
- it reduces the overall code size:

without patch series:
   text    data     bss     dec     hex filename
5321639  858418  715768 6895825  6938d1 vmlinux

with patch series:
   text    data     bss     dec     hex filename
5320026  858418  715768 6894212  693284 vmlinux

This patch:

Switch from nd-&gt;{dentry,mnt} to nd-&gt;path.{dentry,mnt} everywhere.

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix cifs]
[akpm@linux-foundation.org: fix smack]
Signed-off-by: Jan Blunck &lt;jblunck@suse.de&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruen@suse.de&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Casey Schaufler &lt;casey@schaufler-ca.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>configfs: file.c fix possible recursive locking</title>
<updated>2008-01-25T23:05:47Z</updated>
<author>
<name>Joonwoo Park</name>
</author>
<published>2007-12-26T03:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=116ba5d5ea1a5789a8c14b1087014007cada363b'/>
<id>urn:sha1:116ba5d5ea1a5789a8c14b1087014007cada363b</id>
<content type='text'>
configfs_register_subsystem() with default_groups triggers recursive locking.
it seems that mutex_lock_nested is needed.

=============================================
[ INFO: possible recursive locking detected ]
2.6.24-rc6 #145
---------------------------------------------
swapper/1 is trying to acquire lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40c9a9e&gt;] configfs_add_file+0x2e/0x70

but task is already holding lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40ca985&gt;] configfs_register_subsystem+0x55/0x130

other info that might help us debug this:
1 lock held by swapper/1:
 #0:  (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40ca985&gt;] configfs_register_subsystem+0x55/0x130

stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #145
 [&lt;c40053ba&gt;] show_trace_log_lvl+0x1a/0x30
 [&lt;c4005e82&gt;] show_trace+0x12/0x20
 [&lt;c400687e&gt;] dump_stack+0x6e/0x80
 [&lt;c404ec72&gt;] __lock_acquire+0xe62/0x1120
 [&lt;c404efb2&gt;] lock_acquire+0x82/0xa0
 [&lt;c43fda88&gt;] mutex_lock_nested+0x98/0x2e0
 [&lt;c40c9a9e&gt;] configfs_add_file+0x2e/0x70
 [&lt;c40c9b0c&gt;] configfs_create_file+0x2c/0x40
 [&lt;c40ca639&gt;] configfs_attach_item+0x139/0x220
 [&lt;c40ca734&gt;] configfs_attach_group+0x14/0x140
 [&lt;c40ca7e9&gt;] configfs_attach_group+0xc9/0x140
 [&lt;c40ca9f6&gt;] configfs_register_subsystem+0xc6/0x130
 [&lt;c45c8186&gt;] init_netconsole+0x2b6/0x300
 [&lt;c45a75f2&gt;] kernel_init+0x142/0x320
 [&lt;c4004fb3&gt;] kernel_thread_helper+0x7/0x14
 =======================

Signed-off-by: Joonwoo Park &lt;joonwpark81@gmail.com&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mark.fasheh@oracle.com&gt;
</content>
</entry>
<entry>
<title>configfs: dir.c fix possible recursive locking</title>
<updated>2008-01-25T23:05:47Z</updated>
<author>
<name>Joonwoo Park</name>
</author>
<published>2007-12-26T03:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba611edfe406be745be95c332990c8e908c026c3'/>
<id>urn:sha1:ba611edfe406be745be95c332990c8e908c026c3</id>
<content type='text'>
configfs_register_subsystem() with default_groups triggers recursive locking.
it seems that mutex_lock_nested is needed.

=============================================
[ INFO: possible recursive locking detected ]
2.6.24-rc6 #141
---------------------------------------------
swapper/1 is trying to acquire lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40ca76f&gt;] configfs_attach_group+0x4f/0x190

but task is already holding lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40ca9d5&gt;] configfs_register_subsystem+0x55/0x130

other info that might help us debug this:
1 lock held by swapper/1:
 #0:  (&amp;sb-&gt;s_type-&gt;i_mutex_key#3){--..}, at: [&lt;c40ca9d5&gt;] configfs_register_subsystem+0x55/0x130

stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #141
 [&lt;c40053ba&gt;] show_trace_log_lvl+0x1a/0x30
 [&lt;c4005e82&gt;] show_trace+0x12/0x20
 [&lt;c400687e&gt;] dump_stack+0x6e/0x80
 [&lt;c404ec72&gt;] __lock_acquire+0xe62/0x1120
 [&lt;c404efb2&gt;] lock_acquire+0x82/0xa0
 [&lt;c43fdad8&gt;] mutex_lock_nested+0x98/0x2e0
 [&lt;c40ca76f&gt;] configfs_attach_group+0x4f/0x190
 [&lt;c40caa46&gt;] configfs_register_subsystem+0xc6/0x130
 [&lt;c45c8186&gt;] init_netconsole+0x2b6/0x300
 [&lt;c45a75f2&gt;] kernel_init+0x142/0x320
 [&lt;c4004fb3&gt;] kernel_thread_helper+0x7/0x14
 =======================

Signed-off-by: Joonwoo Park &lt;joonwpark81@gmail.com&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mark.fasheh@oracle.com&gt;
</content>
</entry>
<entry>
<title>Kobject: convert fs/* from kobject_unregister() to kobject_put()</title>
<updated>2008-01-25T04:40:40Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2007-12-20T16:13:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=197b12d6796a3bca187f22a8978a33d51e2bcd79'/>
<id>urn:sha1:197b12d6796a3bca187f22a8978a33d51e2bcd79</id>
<content type='text'>
There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().


Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>kobject: convert kernel_kset to be a kobject</title>
<updated>2008-01-25T04:40:24Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2007-11-06T18:36:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ff21e46630abce11fdaaffabd72bbd4eed5ac2c'/>
<id>urn:sha1:0ff21e46630abce11fdaaffabd72bbd4eed5ac2c</id>
<content type='text'>
kernel_kset does not need to be a kset, but a much simpler kobject now
that we have kobj_attributes.

We also rename kernel_kset to kernel_kobj to catch all users of this
symbol with a build error instead of an easy-to-ignore build warning.

Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>kset: convert kernel_subsys to use kset_create</title>
<updated>2008-01-25T04:40:14Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2007-10-29T19:13:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd35b93d8049ab47b5bfaf6b10ba39badf21d1c3'/>
<id>urn:sha1:bd35b93d8049ab47b5bfaf6b10ba39badf21d1c3</id>
<content type='text'>
Dynamically create the kset instead of declaring it statically.  We also
rename kernel_subsys to kernel_kset to catch all users of this symbol
with a build error instead of an easy-to-ignore build warning.

Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>kobject: convert configfs to use kobject_create</title>
<updated>2008-01-25T04:40:11Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2007-10-29T19:13:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3794491d0c4b6355c55b0379f003900e57666a97'/>
<id>urn:sha1:3794491d0c4b6355c55b0379f003900e57666a97</id>
<content type='text'>
We don't need a kset here, a simple kobject will do just fine, so
dynamically create the kobject and use it.

Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>kobject: remove struct kobj_type from struct kset</title>
<updated>2008-01-25T04:40:10Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2007-10-16T16:11:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3514faca19a6fdc209734431c509631ea92b094e'/>
<id>urn:sha1:3514faca19a6fdc209734431c509631ea92b094e</id>
<content type='text'>
We don't need a "default" ktype for a kset.  We should set this
explicitly every time for each kset.  This change is needed so that we
can make ksets dynamic, and cleans up one of the odd, undocumented
assumption that the kset/kobject/ktype model has.

This patch is based on a lot of help from Kay Sievers.

Nasty bug in the block code was found by Dave Young
&lt;hidave.darkstar@gmail.com&gt;

Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Cc: Dave Young &lt;hidave.darkstar@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>r/o bind mounts: filesystem helpers for custom 'struct file's</title>
<updated>2007-10-17T15:43:04Z</updated>
<author>
<name>Dave Hansen</name>
</author>
<published>2007-10-17T06:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce8d2cdf3d2b73e346c82e6f0a46da331df6364c'/>
<id>urn:sha1:ce8d2cdf3d2b73e346c82e6f0a46da331df6364c</id>
<content type='text'>
Why do we need r/o bind mounts?

This feature allows a read-only view into a read-write filesystem.  In the
process of doing that, it also provides infrastructure for keeping track of
the number of writers to any given mount.

This has a number of uses.  It allows chroots to have parts of filesystems
writable.  It will be useful for containers in the future because users may
have root inside a container, but should not be allowed to write to
somefilesystems.  This also replaces patches that vserver has had out of the
tree for several years.

It allows security enhancement by making sure that parts of your filesystem
read-only (such as when you don't trust your FTP server), when you don't want
to have entire new filesystems mounted, or when you want atime selectively
updated.  I've been using the following script to test that the feature is
working as desired.  It takes a directory and makes a regular bind and a r/o
bind mount of it.  It then performs some normal filesystem operations on the
three directories, including ones that are expected to fail, like creating a
file on the r/o mount.

This patch:

Some filesystems forego the vfs and may_open() and create their own 'struct
file's.

This patch creates a couple of helper functions which can be used by these
filesystems, and will provide a unified place which the r/o bind mount code
may patch.

Also, rename an existing, static-scope init_file() to a less generic name.

Signed-off-by: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
