Kalesh Singh
2f1e2df209
ANDROID: 16K: Don't copy data vma for maps/smaps output
Remove get_data_vma() which made a copy of the original VMA containing
padding and modified vm_end to exclude the trailing padding (if any).
Avoid this copy to avoid races due to stale data relating to
vma->vm_file.
Instead use VMA_PAD_START(vma) directly to get the correct end excluding
padding if any.
Add additional check to verify the padding VMA is as expected and also
check for allocation failure of the pad VMA.
ELFs with padding can be loaded from tmpfs. For simplicity swapped out
shmem accounting in smaps, skips the fast path for read only files and
walks the page table with the range adjusted for padding.
Example output:
===== Maps =====
7ff6306c2000-7ff6306c3000 r--p 00000000 fe:09 1912 /system/lib64/bootstrap/libdl.so
7ff6306c3000-7ff6306c6000 ---p 00000000 00:00 0 [page size compat]
7ff6306c6000-7ff6306c7000 r-xp 00004000 fe:09 1912 /system/lib64/bootstrap/libdl.so
7ff6306c7000-7ff6306ca000 ---p 00000000 00:00 0 [page size compat]
7ff6306ca000-7ff6306cb000 r--p 00008000 fe:09 1912 /system/lib64/bootstrap/libdl.so
===== Smaps =====
7ff6306c2000-7ff6306c3000 r--p 00000000 fe:09 1912 /system/lib64/bootstrap/libdl.so
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 0 kB
Pss_Dirty: 0 kB
Shared_Clean: 4 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 4 kB
Anonymous: 0 kB
KSM: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
FilePmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd mr mw me ??
7ff6306c3000-7ff6306c6000 ---p 00000000 00:00 0 [page size compat]
Size: 12 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 0 kB
Pss: 0 kB
Pss_Dirty: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
KSM: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
FilePmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: mr mw me
7ff6306c6000-7ff6306c7000 r-xp 00004000 fe:09 1912 /system/lib64/bootstrap/libdl.so
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 0 kB
Pss_Dirty: 0 kB
Shared_Clean: 4 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 4 kB
Anonymous: 0 kB
KSM: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
FilePmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd ex mr mw me ??
7ff6306c7000-7ff6306ca000 ---p 00000000 00:00 0 [page size compat]
Size: 12 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 0 kB
Pss: 0 kB
Pss_Dirty: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
KSM: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
FilePmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: mr mw me
7ff6306ca000-7ff6306cb000 r--p 00008000 fe:09 1912 /system/lib64/bootstrap/libdl.so
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 4 kB
Pss_Dirty: 4 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 4 kB
Referenced: 4 kB
Anonymous: 4 kB
KSM: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
FilePmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd mr mw me ac
Bug: 427145188
Bug: 409239984
Change-Id: Ic54e89571276db62ffc01681e7ca8986bb1ca7c4
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
|
2025-08-22 07:06:50 -07:00 |
| .. |
|
9p
|
This is the 5.4.276 stable release
|
2024-05-17 15:29:56 +00:00 |
|
adfs
|
|
|
|
affs
|
affs: don't write overlarge OFS data block size fields
|
2025-04-10 14:29:42 +02:00 |
|
afs
|
This is the 5.4.291 stable release
|
2025-03-13 14:53:52 +00:00 |
|
autofs
|
autofs: fix memory leak of waitqueues in autofs_catatonic_mode
|
2023-09-23 11:00:02 +02:00 |
|
befs
|
|
|
|
bfs
|
|
|
|
btrfs
|
This is the 5.4.294 stable release
|
2025-06-05 07:11:21 +00:00 |
|
cachefiles
|
cachefiles: fix memory leak in cachefiles_add_cache()
|
2024-03-06 14:36:10 +00:00 |
|
ceph
|
This is the 5.4.285 stable release
|
2024-11-09 11:29:17 +00:00 |
|
cifs
|
This is the 5.4.294 stable release
|
2025-06-05 07:11:21 +00:00 |
|
coda
|
coda: Avoid partial allocation of sig_inputArgs
|
2023-03-11 16:43:56 +01:00 |
|
configfs
|
configfs: Do not override creating attribute file failure in populate_attrs()
|
2025-06-27 11:02:50 +01:00 |
|
cramfs
|
|
|
|
crypto
|
UPSTREAM: fscrypt: fix derivation of SipHash keys on big endian CPUs
|
2022-11-22 07:58:42 +00:00 |
|
debugfs
|
new helper: lookup_positive_unlocked()
|
2023-09-23 10:59:40 +02:00 |
|
devpts
|
|
|
|
dlm
|
dlm: fix plock lookup when using multiple lockspaces
|
2023-09-23 10:59:55 +02:00 |
|
ecryptfs
|
This is the 5.4.278 stable release
|
2024-06-18 14:18:49 +00:00 |
|
efivarfs
|
efivarfs: Fix error on non-existent file
|
2025-01-09 13:23:28 +01:00 |
|
efs
|
|
|
|
erofs
|
This is the 5.4.289 stable release
|
2025-01-10 07:30:07 +00:00 |
|
exportfs
|
|
|
|
ext2
|
This is the 5.4.257 stable release
|
2023-09-30 11:33:27 +00:00 |
|
ext4
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
f2fs
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
fat
|
fat: fix uninitialized variable
|
2024-11-08 16:20:47 +01:00 |
|
freevxfs
|
|
|
|
fscache
|
|
|
|
fuse
|
Merge tag 'android11-5.4.293_r00' into android11-5.4
|
2025-05-26 03:40:18 -07:00 |
|
gfs2
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
hfs
|
Merge tag 'android11-5.4.293_r00' into android11-5.4
|
2025-05-26 03:40:18 -07:00 |
|
hfsplus
|
Merge tag 'android11-5.4.293_r00' into android11-5.4
|
2025-05-26 03:40:18 -07:00 |
|
hostfs
|
|
|
|
hpfs
|
|
|
|
hugetlbfs
|
fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super
|
2024-03-06 14:36:10 +00:00 |
|
incfs
|
ANDROID: incremental fs: Evict inodes before freeing mount data
|
2023-04-05 13:07:49 -07:00 |
|
iomap
|
This is the 5.4.270 stable release
|
2024-03-05 14:53:04 +00:00 |
|
isofs
|
isofs: Prevent the use of too small fid
|
2025-05-02 07:39:20 +02:00 |
|
jbd2
|
jbd2: fix data-race and null-ptr-deref in jbd2_journal_dirty_metadata()
|
2025-06-27 11:02:58 +01:00 |
|
jffs2
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
jfs
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
kernfs
|
This is the 5.4.269 stable release
|
2024-02-24 15:47:08 +00:00 |
|
lockd
|
fs: lockd: avoid possible wrong NULL parameter
|
2023-09-23 10:59:48 +02:00 |
|
minix
|
|
|
|
nfs
|
This is the 5.4.294 stable release
|
2025-06-05 07:11:21 +00:00 |
|
nfs_common
|
|
|
|
nfsd
|
nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request
|
2025-06-27 11:02:51 +01:00 |
|
nilfs2
|
nilfs2: do not propagate ENOENT error from nilfs_btree_propagate()
|
2025-06-27 11:02:47 +01:00 |
|
nls
|
Revert "fs/nls: make load_nls() take a const parameter"
|
2023-09-30 15:41:35 +00:00 |
|
notify
|
This is the 5.4.251 stable release
|
2023-08-03 10:56:28 +00:00 |
|
ntfs
|
ntfs: check overflow when iterating ATTR_RECORDs
|
2022-11-25 17:42:22 +01:00 |
|
ocfs2
|
This is the 5.4.294 stable release
|
2025-06-05 07:11:21 +00:00 |
|
omfs
|
treewide: Remove uninitialized_var() usage
|
2023-06-09 10:29:01 +02:00 |
|
openpromfs
|
openpromfs: finish conversion to the new mount API
|
2024-06-16 13:28:32 +02:00 |
|
orangefs
|
This is the 5.4.294 stable release
|
2025-06-05 07:11:21 +00:00 |
|
overlayfs
|
Merge 5.4.287 into android11-5.4-lts
|
2024-12-16 10:50:16 +00:00 |
|
proc
|
ANDROID: 16K: Don't copy data vma for maps/smaps output
|
2025-08-22 07:06:50 -07:00 |
|
pstore
|
pstore/ram: Fix crash when setting number of cpus to an odd number
|
2024-02-23 08:24:55 +01:00 |
|
qnx4
|
|
|
|
qnx6
|
|
|
|
quota
|
quota: flush quota_release_work upon quota writeback
|
2024-12-14 19:44:42 +01:00 |
|
ramfs
|
|
|
|
reiserfs
|
This is the 5.4.257 stable release
|
2023-09-30 11:33:27 +00:00 |
|
romfs
|
|
|
|
squashfs
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
sysfs
|
This is the 5.4.275 stable release
|
2024-05-15 16:00:38 +00:00 |
|
sysv
|
sysv: don't call sb_bread() with pointers_lock held
|
2024-04-13 12:51:38 +02:00 |
|
tracefs
|
This is the 5.4.257 stable release
|
2023-09-30 11:33:27 +00:00 |
|
ubifs
|
This is the 5.4.291 stable release
|
2025-03-13 14:53:52 +00:00 |
|
udf
|
udf: Fix use of check_add_overflow() with mixed type arguments
|
2025-03-13 12:42:51 +01:00 |
|
ufs
|
|
|
|
unicode
|
Revert "unicode: Don't special case ignorable code points"
|
2024-12-14 19:44:55 +01:00 |
|
verity
|
This is the 5.4.257 stable release
|
2023-09-30 11:33:27 +00:00 |
|
xfs
|
This is the 5.4.288 stable release
|
2024-12-27 16:16:36 +00:00 |
|
aio.c
|
fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
|
2024-04-13 12:51:29 +02:00 |
|
anon_inodes.c
|
|
|
|
attr.c
|
attr: block mode changes of symlinks
|
2023-09-23 11:00:06 +02:00 |
|
bad_inode.c
|
|
|
|
binfmt_aout.c
|
binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
|
2023-01-18 11:41:46 +01:00 |
|
binfmt_elf.c
|
|
|
|
binfmt_elf_fdpic.c
|
fs: binfmt_elf_efpic: don't use missing interpreter's properties
|
2024-09-04 13:14:54 +02:00 |
|
binfmt_em86.c
|
|
|
|
binfmt_flat.c
|
binfmt_flat: Fix integer overflow bug on 32 bit systems
|
2025-03-13 12:43:07 +01:00 |
|
binfmt_misc.c
|
binfmt_misc: cleanup on filesystem umount
|
2024-09-04 13:14:53 +02:00 |
|
binfmt_script.c
|
|
|
|
block_dev.c
|
block: Don't invalidate pagecache for invalid falloc modes
|
2024-01-08 11:29:48 +01:00 |
|
buffer.c
|
This is the 5.4.225 stable release
|
2022-11-29 16:39:04 +00:00 |
|
char_dev.c
|
chardev: fix error handling in cdev_device_add()
|
2023-01-18 11:41:25 +01:00 |
|
compat.c
|
|
|
|
compat_binfmt_elf.c
|
|
|
|
compat_ioctl.c
|
lsm: new security_file_ioctl_compat() hook
|
2024-02-23 08:25:15 +01:00 |
|
coredump.c
|
Revert "coredump: hand a pidfd to the usermode coredump helper"
|
2025-06-05 07:57:32 +00:00 |
|
d_path.c
|
|
|
|
dax.c
|
|
|
|
dcache.c
|
fs: better handle deep ancestor chains in is_subdir()
|
2024-07-27 10:38:32 +02:00 |
|
dcookies.c
|
|
|
|
direct-io.c
|
|
|
|
drop_caches.c
|
|
|
|
eventfd.c
|
eventfd: prevent underflow for eventfd semaphores
|
2023-09-23 10:59:40 +02:00 |
|
eventpoll.c
|
This is the 5.4.289 stable release
|
2025-01-10 07:30:07 +00:00 |
|
exec.c
|
This is the 5.4.285 stable release
|
2024-11-09 11:29:17 +00:00 |
|
fcntl.c
|
fs: Fix file_set_fowner LSM hook inconsistencies
|
2024-11-08 16:20:34 +01:00 |
|
fhandle.c
|
do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
|
2024-03-26 18:22:13 -04:00 |
|
file.c
|
fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE
|
2024-09-04 13:14:50 +02:00 |
|
file_table.c
|
|
|
|
filesystems.c
|
fs/filesystems: Fix potential unsigned integer underflow in fs_name()
|
2025-06-27 11:02:50 +01:00 |
|
fs-writeback.c
|
writeback: fix call of incorrect macro
|
2023-05-17 11:35:58 +02:00 |
|
fs_context.c
|
fs: avoid empty option when generating legacy mount string
|
2023-07-27 08:37:25 +02:00 |
|
fs_parser.c
|
|
|
|
fs_pin.c
|
|
|
|
fs_struct.c
|
|
|
|
fs_types.c
|
|
|
|
fsopen.c
|
|
|
|
inode.c
|
This is the 5.4.285 stable release
|
2024-11-09 11:29:17 +00:00 |
|
internal.h
|
fs: Establish locking order for unrelated directories
|
2023-07-27 08:37:26 +02:00 |
|
io_uring.c
|
This is the 5.4.278 stable release
|
2024-06-18 14:18:49 +00:00 |
|
ioctl.c
|
|
|
|
Kconfig
|
Merge tag 'android11-5.4.293_r00' into android11-5.4
|
2025-05-26 03:40:18 -07:00 |
|
Kconfig.binfmt
|
|
|
|
libfs.c
|
This is the 5.4.229 stable release
|
2023-01-18 12:21:41 +00:00 |
|
locks.c
|
filelock: Correct the filelock owner in fcntl_setlk/fcntl_setlk64
|
2024-09-04 13:15:02 +02:00 |
|
Makefile
|
|
|
|
mbcache.c
|
mbcache: Avoid nesting of cache->c_list_lock under bit locks
|
2023-01-18 11:41:59 +01:00 |
|
mount.h
|
|
|
|
mpage.c
|
|
|
|
namei.c
|
This is the 5.4.292 stable release
|
2025-04-11 08:16:05 +00:00 |
|
namespace.c
|
This is the 5.4.295 stable release
|
2025-06-30 08:05:33 +00:00 |
|
no-block.c
|
|
|
|
nsfs.c
|
|
|
|
open.c
|
This is the 5.4.279 stable release
|
2024-07-08 13:55:50 +00:00 |
|
OWNERS
|
|
|
|
pipe.c
|
|
|
|
pnode.c
|
This is the 5.4.229 stable release
|
2023-01-18 12:21:41 +00:00 |
|
pnode.h
|
|
|
|
posix_acl.c
|
|
|
|
proc_namespace.c
|
|
|
|
read_write.c
|
|
|
|
readdir.c
|
|
|
|
select.c
|
fs/select: rework stack allocation hack for clang
|
2024-03-26 18:22:13 -04:00 |
|
seq_file.c
|
|
|
|
signalfd.c
|
Revert "io_uring: disable polling pollfree files"
|
2022-09-21 15:47:16 +02:00 |
|
splice.c
|
Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
|
2022-10-17 17:24:32 +02:00 |
|
stack.c
|
|
|
|
stat.c
|
|
|
|
statfs.c
|
statfs: enforce statfs[64] structure initialization
|
2023-05-30 12:44:07 +01:00 |
|
super.c
|
fs: explicitly unregister per-superblock BDIs
|
2024-11-08 16:20:26 +01:00 |
|
sync.c
|
This is the 5.4.263 stable release
|
2023-12-11 12:08:17 +00:00 |
|
timerfd.c
|
|
|
|
userfaultfd.c
|
ANDROID: 16K: Fixup padding vm_flags bits on VMA splits
|
2024-10-10 16:13:35 -07:00 |
|
utimes.c
|
|
|
|
xattr.c
|
This is the 5.4.229 stable release
|
2023-01-18 12:21:41 +00:00 |