<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/f2fs/acl.c, branch linux-3.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-01-26T04:58:19Z</updated>
<entry>
<title>f2fs: use generic posix ACL infrastructure</title>
<updated>2014-01-26T04:58:19Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2013-12-20T13:16:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6dda0e63e97122ce9e0ba04367e37cca28315fa'/>
<id>urn:sha1:a6dda0e63e97122ce9e0ba04367e37cca28315fa</id>
<content type='text'>
f2fs has some weird mode bit handling, so still using the old
chmod code for now.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>fs: make posix_acl_create more useful</title>
<updated>2014-01-26T04:58:18Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2013-12-20T13:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37bc15392a2363ca822b2c2828e0ccafbea32f75'/>
<id>urn:sha1:37bc15392a2363ca822b2c2828e0ccafbea32f75</id>
<content type='text'>
Rename the current posix_acl_created to __posix_acl_create and add
a fully featured helper to set up the ACLs on file creation that
uses get_acl().

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>fs: make posix_acl_chmod more useful</title>
<updated>2014-01-26T04:58:18Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2013-12-20T13:16:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bf3258fd2acd8515450ab8efcd97c9d3b69f7f9'/>
<id>urn:sha1:5bf3258fd2acd8515450ab8efcd97c9d3b69f7f9</id>
<content type='text'>
Rename the current posix_acl_chmod to __posix_acl_chmod and add
a fully featured ACL chmod helper that uses the -&gt;set_acl inode
operation.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>f2fs: fix a deadlock during init_acl procedure</title>
<updated>2013-10-28T04:39:09Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-10-28T04:17:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2ed2d5b33cb564025b1eb90650d70a0a3592c0e3'/>
<id>urn:sha1:2ed2d5b33cb564025b1eb90650d70a0a3592c0e3</id>
<content type='text'>
The deadlock is found through the following scenario.

sys_mkdir()
 -&gt; f2fs_add_link()
  -&gt; __f2fs_add_link()
   -&gt; init_inode_metadata()
     : lock_page(inode);
    -&gt; f2fs_init_acl()
     -&gt; f2fs_set_acl()
      -&gt; f2fs_setxattr(..., NULL)
       : This NULL page incurs a deadlock at update_inode_page().

So, likewise f2fs_init_security(), this patch adds a parameter to transfer the
locked inode page to f2fs_setxattr().

Found by Linux File System Verification project (linuxtesting.org).

Reported-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: clean up acl flow for better readability</title>
<updated>2013-10-28T04:38:21Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-10-28T04:12:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8b60e1a65893728ca868493cb4c4b64b55e7f9c'/>
<id>urn:sha1:b8b60e1a65893728ca868493cb4c4b64b55e7f9c</id>
<content type='text'>
This patch cleans up a couple of acl codes.

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: support xattr security labels</title>
<updated>2013-06-11T07:01:03Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-06-03T10:46:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ae8f1627f39bae505b90cade50cd8a911b8bda6'/>
<id>urn:sha1:8ae8f1627f39bae505b90cade50cd8a911b8bda6</id>
<content type='text'>
This patch adds the support of security labels for f2fs, which will be used
by Linus Security Models (LSMs).

Quote from http://en.wikipedia.org/wiki/Linux_Security_Modules:
"Linux Security Modules (LSM) is a framework that allows the Linux kernel to
support a variety of computer security models while avoiding favoritism toward
any single security implementation. The framework is licensed under the terms of
the GNU General Public License and is standard part of the Linux kernel since
Linux 2.6. AppArmor, SELinux, Smack and TOMOYO Linux are the currently accepted
modules in the official kernel.".

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>mode_t, whack-a-mole at 11...</title>
<updated>2013-04-09T18:13:05Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-03-29T16:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ecc833bac594099505a090cbca6ccd5b83d5975'/>
<id>urn:sha1:0ecc833bac594099505a090cbca6ccd5b83d5975</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>f2fs: avoid null dereference in f2fs_acl_from_disk</title>
<updated>2013-01-04T00:46:27Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-01-03T00:24:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1b75eabec4eddce55ebb078f84481f58272878f'/>
<id>urn:sha1:c1b75eabec4eddce55ebb078f84481f58272878f</id>
<content type='text'>
This patch resolves Coverity #751303:

&gt;&gt;&gt; CID 753103: Explicit null dereferenced (FORWARD_NULL) Passing null
&gt;&gt;&gt; pointer "value" to function "f2fs_acl_from_disk(char const *, size_t)",
	which dereferences it.

[Error path]
- value = NULL;
- retval = 0 by f2fs_getxattr();
- f2fs_acl_from_disk(value:NULL, ...);

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: Don't assign e_id in f2fs_acl_from_disk</title>
<updated>2012-12-26T04:05:15Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2012-12-22T09:52:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48c6d1217e3dc743e7d3ad9b9def8d4810d13a85'/>
<id>urn:sha1:48c6d1217e3dc743e7d3ad9b9def8d4810d13a85</id>
<content type='text'>
With user namespaces enabled building f2fs fails with:

 CC      fs/f2fs/acl.o
fs/f2fs/acl.c: In function ‘f2fs_acl_from_disk’:
fs/f2fs/acl.c:85:21: error: ‘struct posix_acl_entry’ has no member named ‘e_id’
make[2]: *** [fs/f2fs/acl.o] Error 1
make[2]: Target `__build' not remade because of errors.

e_id is a backwards compatibility field only used for file systems
that haven't been converted to use kuids and kgids.  When the posix
acl tag field is neither ACL_USER nor ACL_GROUP assigning e_id is
unnecessary.  Remove the assignment so f2fs will build with user
namespaces enabled.

Cc: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
Cc: Amit Sahrawat &lt;a.sahrawat@samsung.com&gt;
Acked-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
</entry>
<entry>
<title>f2fs: resolve build failures</title>
<updated>2012-12-11T04:43:43Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2012-11-30T08:32:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=573ea5fcf0a65fea4811f82edd6dc6045c04edda'/>
<id>urn:sha1:573ea5fcf0a65fea4811f82edd6dc6045c04edda</id>
<content type='text'>
There exist two build failures reported by Randy Dunlap as follows.

(on i386)
 a. (config-r8857)
	ERROR: "f2fs_xattr_advise_handler" [fs/f2fs/f2fs.ko] undefined!

Key configs in (config-r8857) are as follows.
 CONFIG_F2FS_FS=m
 # CONFIG_F2FS_STAT_FS is not set
 CONFIG_F2FS_FS_XATTR=y
 # CONFIG_F2FS_FS_POSIX_ACL is not set

The error was occurred due to the function location that we made a mistake.
Recently we added a new functionality for users to indicate cold files
explicitly through xattr operations (i.e., f2fs_xattr_advise_handler).

This handler should have been added in xattr.c instead of acl.c in order
to avoid an undefined operation like in this case where XATTR is set and
ACL is not set.

 b. (config-r8855)
	fs/f2fs/file.c: In function 'f2fs_vm_page_mkwrite':
	fs/f2fs/file.c:97:2: error: implicit declaration of function
	'block_page_mkwrite_return'

Key config in (config-r8855) is CONFIG_BLOCK.

Obviously, f2fs works on top of the block device so that we should consider
carefully a sort of config dependencies.

The reason why this error was occurred was that f2fs_vm_page_mkwrite() calls
block_page_mkwrite_return() which is enalbed only if CONFIG_BLOCK is set.

Reported-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
Acked-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
</content>
</entry>
</feed>
