forked from luck/tmp_suning_uos_patched
vfs: micro-optimize acl_permission_check()
It's a hot function, and we're better off not mixing types in the mask calculations. The compiler just ends up mixing 16-bit and 32-bit operations, for no good reason. So do everything in 'unsigned int' rather than mixing 'unsigned int' masking with a 'umode_t' (16-bit) mode variable. This, together with the parent commit (47a150edc2ae: "Cache user_ns in struct cred") makes acl_permission_check() much nicer. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
47a150edc2
commit
26cf46be95
|
@ -179,7 +179,7 @@ EXPORT_SYMBOL(putname);
|
|||
static int acl_permission_check(struct inode *inode, int mask, unsigned int flags,
|
||||
int (*check_acl)(struct inode *inode, int mask, unsigned int flags))
|
||||
{
|
||||
umode_t mode = inode->i_mode;
|
||||
unsigned int mode = inode->i_mode;
|
||||
|
||||
mask &= MAY_READ | MAY_WRITE | MAY_EXEC;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user