mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
mm: allow drivers to prevent new writable mappings
This patch (of 6): The i_mmap_writable field counts existing writable mappings of an address_space. To allow drivers to prevent new writable mappings, make this counter signed and prevent new writable mappings if it is negative. This is modelled after i_writecount and DENYWRITE. This will be required by the shmem-sealing infrastructure to prevent any new writable mappings after the WRITE seal has been set. In case there exists a writable mapping, this operation will fail with EBUSY. Note that we rely on the fact that iff you already own a writable mapping, you can increase the counter without using the helpers. This is the same that we do for i_writecount. Signed-off-by: David Herrmann <[email protected]> Acked-by: Hugh Dickins <[email protected]> Cc: Michael Kerrisk <[email protected]> Cc: Ryan Lortie <[email protected]> Cc: Lennart Poettering <[email protected]> Cc: Daniel Mack <[email protected]> Cc: Andy Lutomirski <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
935e9f02e7
commit
4bb5f5d939
5 changed files with 54 additions and 9 deletions
|
|
@ -165,6 +165,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode)
|
|||
mapping->a_ops = &empty_aops;
|
||||
mapping->host = inode;
|
||||
mapping->flags = 0;
|
||||
atomic_set(&mapping->i_mmap_writable, 0);
|
||||
mapping_set_gfp_mask(mapping, GFP_HIGHUSER_MOVABLE);
|
||||
mapping->private_data = NULL;
|
||||
mapping->backing_dev_info = &default_backing_dev_info;
|
||||
|
|
|
|||
Loading…
Reference in a new issue