summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* minix: propagate umode_tAl Viro2012-01-032-2/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ext4: propagate umode_tAl Viro2012-01-032-5/+5
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ext3: propagate umode_tAl Viro2012-01-032-2/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ext2: propagate umode_tAl Viro2012-01-033-3/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* 9p: don't bother with unixmode2p9mode() for link() and symlink()Al Viro2012-01-031-12/+8
| | | | | | | | | Pass perm to v9fs_vfs_mkspecial() instead of passing mode; calculate in caller when done for mknod(), use known value for link() and symlink(). As the result, we avoid a bit of work *and* stop mixing mode_t with P9_DMLINK. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* kill ecryptfs_create_underlying_file()Al Viro2012-01-031-20/+1
| | | | | | it's a just a wrapper for vfs_create() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* configfs: convert to umode_tAl Viro2012-01-034-7/+7
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch devtmpfs to umode_tAl Viro2012-01-031-3/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch debugfs to umode_tAl Viro2012-01-0325-82/+82
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch sysfs_chmod_file() to umode_tAl Viro2012-01-033-6/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch procfs to umode_t useAl Viro2012-01-0313-32/+31
| | | | | | both proc_dir_entry ->mode and populating functions Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ->is_visible() to returning umode_tAl Viro2012-01-0333-70/+70
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch sysfs attr->mode to umode_tAl Viro2012-01-032-2/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch device_get_devnode() and ->devnode() to umode_t *Al Viro2012-01-0331-35/+35
| | | | | | | both callers of device_get_devnode() are only interested in lower 16bits and nobody tries to return anything wider than 16bit anyway. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hugetlbfs: switch to inode_init_owner()Al Viro2012-01-031-27/+32
| | | | | | ... rather than open-coding it Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ->mknod() to umode_tAl Viro2012-01-0342-51/+51
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ->create() to umode_tAl Viro2012-01-0354-72/+72
| | | | | | | | vfs_create() ignores everything outside of 16bit subset of its mode argument; switching it to umode_t is obviously equivalent and it's the only caller of the method Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch vfs_mkdir() and ->mkdir() to umode_tAl Viro2012-01-0356-70/+70
| | | | | | | vfs_mkdir() gets int, but immediately drops everything that might not fit into umode_t and that's the only caller of ->mkdir()... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch sys_mknodat(2) to umode_tAl Viro2012-01-032-4/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: fix the rest of sget() racesAl Viro2012-01-031-7/+13
| | | | | | | | | | | | | | | | | unfortunately, just checking MS_BORN after having grabbed ->s_umount in sget() is not enough; places that pick superblock from a list and grab s_umount shared need the same check in addition to checking for ->s_root; otherwise three-way race between failing mount, sget() and such list-walker can leave us with list-walker coming *second*, when temporary active ref grabbed by sget() (to be dropped when sget() notices that original mount has failed by checking MS_BORN) has lead to deactivate_locked_super() from failing ->mount() *not* doing ->kill_sb() and just releasing ->s_umount. Once sget() gets through and notices that MS_BORN had never been set it will drop the active ref and fs will be shut down and kicked out of all lists, but it's too late for something like sync_supers(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: new helper - vfs_ustat()Al Viro2012-01-035-26/+17
| | | | | | | ... and bury user_get_super()/statfs_by_dentry() - they are purely internal now. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: live vfsmounts never have NULL ->mnt_sbAl Viro2012-01-032-4/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: for usbfs, etc. internal vfsmounts ->mnt_sb->s_root == ->mnt_rootAl Viro2012-01-036-8/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of timer in kern/acct.cAl Viro2012-01-031-30/+10
| | | | | | ... and clean it up a bit, while we are at it Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: pipe.c is really non-modularAl Viro2012-01-031-7/+0
| | | | | | | ... so no exitcalls there. Not much would work if pipe(2) would stop working, after all... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: fix the stupidity with i_dentry in inode destructorsAl Viro2012-01-0353-55/+1
| | | | | | | | | | Seeing that just about every destructor got that INIT_LIST_HEAD() copied into it, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once(); the cost of taking it into inode_init_always() will be negligible for pipes and sockets and negative for everything else. Not to mention the removal of boilerplate code from ->destroy_inode() instances... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: mnt_drop_write_file()Al Viro2012-01-0322-48/+55
| | | | | | | new helper (wrapper around mnt_drop_write()) to be used in pair with mnt_want_write_file(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* constify seq_file stuffAl Viro2012-01-032-10/+10
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: make do_kern_mount() staticAl Viro2012-01-032-5/+1
| | | | | | the only user outside of fs/namespace.c has died Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: convert fs_supers to hlistAl Viro2012-01-033-15/+16
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* make nfs_follow_remote_path() handle ERR_PTR() passed as root_mntAl Viro2012-01-031-9/+9
| | | | | | ... rather than duplicating that in callers Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: kill ->mnt_devname use in afs printksAl Viro2012-01-031-2/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* btrfs, nfs, apparmor: don't pull mnt_namespace.h for no reason...Al Viro2012-01-033-3/+0
| | | | | | | | it's not needed anymore; we used to, back when we had to do mount_subtree() by hand, complete with put_mnt_ns() in it. No more... Apparmor didn't need it since the __d_path() fix. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* tomoyo: stop including hell knows whatAl Viro2012-01-031-8/+0
| | | | | | | | | | tomoyo/realpath.c needs exactly one include - that of common.h. It pulls everything the thing needs, without doing ridiculous garbage such as trying to include ../../fs/internal.h. If that alone doesn't scream "layering violation", I don't know what does; and these days it's all for nothing, since it fortunately does not use any symbols defined in there... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: dentry_reset_mounted() doesn't use vfsmount argumentAl Viro2012-01-031-3/+3
| | | | | | lose it Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* unexport put_mnt_ns(), make create_mnt_ns() static outrightAl Viro2012-01-032-4/+1
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: add missing parens in pnode.h macrosAl Viro2012-01-031-5/+5
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: more mnt_parent cleanupsAl Viro2012-01-034-55/+29
| | | | | | | | | | | | a) mount --move is checking that ->mnt_parent is non-NULL before looking if that parent happens to be shared; ->mnt_parent is never NULL and it's not even an misspelled !mnt_has_parent() b) pivot_root open-codes is_path_reachable(), poorly. c) so does path_is_under(), while we are at it. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: new internal helper: mnt_has_parent(mnt)Al Viro2012-01-035-12/+18
| | | | | | | | | | | | vfsmounts have ->mnt_parent pointing either to a different vfsmount or to itself; it's never NULL and termination condition in loops traversing the tree towards root is mnt == mnt->mnt_parent. At least one place (see the next patch) is confused about what's going on; let's add an explicit helper checking it right way and use it in all places where we need it. Not that there had been too many, but... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* vfs: kill pointless helpers in namespace.cAl Viro2012-01-031-30/+5
| | | | | | | mnt_{inc,dec}_count() is not cleaner than doing the corresponding mnt_add_count() directly and mnt_set_count() is not used at all. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* new helpers: fh_{want,drop}_write()Al Viro2012-01-033-19/+29
| | | | | | | A bunch of places in nfsd does mnt_{want,drop}_write on vfsmount of export of given fhandle. Switched to obvious inlined helpers... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch a bunch of places to mnt_want_write_file()Al Viro2012-01-0316-42/+42
| | | | | | it's both faster (in case when file has been opened for write) and cleaner. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* trim fs/internal.hAl Viro2012-01-035-28/+15
| | | | | | | some stuff in there can actually become static; some belongs to pnode.h as it's a private interface between namespace.c and pnode.c... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* pull manipulations of rpc_cred inside alloc_nfs_open_context()Al Viro2012-01-033-33/+22
| | | | | | | | | No need to duplicate them in both callers; make it return ERR_PTR(-ENOMEM) on allocation failure instead of NULL and it'll be able to report rpc_lookup_cred() failures just fine. Callers are much happier that way... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Revert "rtc: Disable the alarm in the hardware"Linus Torvalds2012-01-031-34/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c0afabd3d553c521e003779c127143ffde55a16f. It causes failures on Toshiba laptops - instead of disabling the alarm, it actually seems to enable it on the affected laptops, resulting in (for example) the laptop powering on automatically five minutes after shutdown. There's a patch for it that appears to work for at least some people, but it's too late to play around with this, so revert for now and try again in the next merge window. See for example http://bugs.debian.org/652869 Reported-and-bisected-by: Andreas Friedrich <afrie@gmx.net> (Toshiba Tecra) Reported-by: Antonio-M. Corbi Bellot <antonio.corbi@ua.es> (Toshiba Portege R500) Reported-by: Marco Santos <marco.santos@waynext.com> (Toshiba Portege Z830) Reported-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr> (Toshiba Portege R830) Cc: Jonathan Nieder <jrnieder@gmail.com> Requested-by: John Stultz <john.stultz@linaro.org> Cc: stable@kernel.org # for the versions that applied this Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* hung_task: fix false positive during vforkMandeep Singh Baines2012-01-031-4/+10
| | | | | | | | | | | | | | | | | vfork parent uninterruptibly and unkillably waits for its child to exec/exit. This wait is of unbounded length. Ignore such waits in the hung_task detector. Signed-off-by: Mandeep Singh Baines <msb@chromium.org> Reported-by: Sasha Levin <levinsasha928@gmail.com> LKML-Reference: <1325344394.28904.43.camel@lappy> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: John Kacur <jkacur@redhat.com> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* security: Fix security_old_inode_init_security() when CONFIG_SECURITY is not setJan Kara2012-01-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 1e39f384bb01 ("evm: fix build problems") makes the stub version of security_old_inode_init_security() return 0 when CONFIG_SECURITY is not set. But that makes callers such as reiserfs_security_init() assume that security_old_inode_init_security() has set name, value, and len arguments properly - but security_old_inode_init_security() left them uninitialized which then results in interesting failures. Revert security_old_inode_init_security() to the old behavior of returning EOPNOTSUPP since both callers (reiserfs and ocfs2) handle this just fine. [ Also fixed the S_PRIVATE(inode) case of the actual non-stub security_old_inode_init_security() function to return EOPNOTSUPP for the same reason, as pointed out by Mimi Zohar. It got incorrectly changed to match the new function in commit fb88c2b6cbb1: "evm: fix security/security_old_init_security return code". - Linus ] Reported-by: Jorge Bastos <mysql.jorge@decimal.pt> Acked-by: James Morris <jmorris@namei.org> Acked-by: Mimi Zohar <zohar@us.ibm.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* drm/radeon/kms/atom: fix possible segfault in pm setupAlexander Müller2012-01-031-1/+5
| | | | | | | | | | | | | | If we end up with no power states, don't look up current vddc. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=44130 agd5f: fix patch formatting Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2012-01-021-1/+1
|\ | | | | | | | | * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6: dt/device: Fix auxdata matching to handle entries without a name override
| * dt/device: Fix auxdata matching to handle entries without a name overrideGrant Likely2011-12-121-1/+1
| | | | | | | | | | | | | | | | There is no requirement to override name entries in auxdata. Fix the entry matching to use .compatible instead of .name to find the end of the list. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
OpenPOWER on IntegriCloud