<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/fs/namei.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-08-05T03:23:50+00:00</updated>
<entry>
<title>may_follow_link() should use nd-&gt;inode</title>
<updated>2015-08-05T03:23:50+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-08-05T03:23:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=aa65fa35ba6b589a12a6025739c2d935dd743b5a'/>
<id>urn:sha1:aa65fa35ba6b589a12a6025739c2d935dd743b5a</id>
<content type='text'>
Now that we can get there in RCU mode, we shouldn't play with
nd-&gt;path.dentry-&gt;d_inode - it's not guaranteed to be stable.
Use nd-&gt;inode instead.

Reported-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>link_path_walk(): be careful when failing with ENOTDIR</title>
<updated>2015-08-02T00:18:38+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-08-01T23:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=97242f99a013950af63effa0732f8ef7db4e31ec'/>
<id>urn:sha1:97242f99a013950af63effa0732f8ef7db4e31ec</id>
<content type='text'>
In RCU mode we might end up with dentry evicted just we check
that it's a directory.  In such case we should return ECHILD
rather than ENOTDIR, so that pathwalk would be retries in non-RCU
mode.

Breakage had been introduced in commit b18825a - prior to that
we were looking at nd-&gt;inode, which had been fetched before
verifying that -&gt;d_seq was still valid.  That form of check
would only be satisfied if at some point the pathname prefix
would indeed have resolved to a non-directory.  The fix consists
of checking -&gt;d_seq after we'd run into a non-directory dentry,
and failing with ECHILD in case of mismatch.

Note that all branches since 3.12 have that problem...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>namei: make set_root_rcu() return void</title>
<updated>2015-06-29T16:07:04+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-06-29T16:07:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=06d7137e5c566e1e8a4acd4a30e7e12170a57b58'/>
<id>urn:sha1:06d7137e5c566e1e8a4acd4a30e7e12170a57b58</id>
<content type='text'>
The only caller that cares about its return value can just
as easily pick it from nd-&gt;root_seq itself.  We used to just
calculate it and return to caller, but these days we are
storing it in nd-&gt;root_seq in all cases.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>turn user_{path_at,path,lpath,path_dir}() into static inlines</title>
<updated>2015-05-15T05:10:45+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-13T13:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b853a16176cf3e02c57e215743015614152c2428'/>
<id>urn:sha1:b853a16176cf3e02c57e215743015614152c2428</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>namei: move saved_nd pointer into struct nameidata</title>
<updated>2015-05-15T05:10:45+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-13T11:28:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9883d1855ecfafc60045a93abcee6c42e0a5f571'/>
<id>urn:sha1:9883d1855ecfafc60045a93abcee6c42e0a5f571</id>
<content type='text'>
these guys are always declared next to each other; might as well put
the former (pointer to previous instance) into the latter and simplify
the calling conventions for {set,restore}_nameidata()

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>inline user_path_create()</title>
<updated>2015-05-15T05:10:44+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-13T11:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=520ae6874726dbfdf52c779d387b584d95cfed7f'/>
<id>urn:sha1:520ae6874726dbfdf52c779d387b584d95cfed7f</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>inline user_path_parent()</title>
<updated>2015-05-15T05:10:44+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-13T10:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a2ec4a2d5cf35972b0e4dd84f66142bc76bb6cb2'/>
<id>urn:sha1:a2ec4a2d5cf35972b0e4dd84f66142bc76bb6cb2</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>namei: trim do_last() arguments</title>
<updated>2015-05-15T05:10:43+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-12T22:44:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=76ae2a5ab13c4413dd403c940c16bd0b1e609346'/>
<id>urn:sha1:76ae2a5ab13c4413dd403c940c16bd0b1e609346</id>
<content type='text'>
now that struct filename is stashed in nameidata we have no need to
pass it in

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>namei: stash dfd and name into nameidata</title>
<updated>2015-05-15T05:10:43+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-12T22:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c8a53ee5ee4fcab5ee252f61a69609b65e5e74b8'/>
<id>urn:sha1:c8a53ee5ee4fcab5ee252f61a69609b65e5e74b8</id>
<content type='text'>
fewer arguments to pass around...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>namei: fold path_cleanup() into terminate_walk()</title>
<updated>2015-05-15T05:10:42+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-05-12T21:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=102b8af266fbce07b7f8d2396bf2286ba80c93bd'/>
<id>urn:sha1:102b8af266fbce07b7f8d2396bf2286ba80c93bd</id>
<content type='text'>
they are always called next to each other; moreover,
terminate_walk() is more symmetrical that way.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
</feed>
