tree e02ed06aa5882c6656dcadb4a03f82e21a841f85
parent 627a733000f50a9f85f1b63aa3dc148645ed70d3
parent b56a11e075b23594926a99734c8d75413e623ad2
author Michael Bestas <mkbestas@lineageos.org> 1707566352 +0200
committer Michael Bestas <mkbestas@lineageos.org> 1707566352 +0200
mergetag object b56a11e075b23594926a99734c8d75413e623ad2
 type commit
 tag android-security-13.0.0_r14
 tagger The Android Open Source Project <initial-contribution@android.com> 1707155070 -0800
 
 Android Security 13.0.0 Release 14 (11228180)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZcEefgAKCRDorT+BmrEO
 eBZMAJ9X5pHMA9vWVMGpuRqqjhezxtzRrACeNhs//JRYL35m8RfQBtBziwtsEQQ=
 =v03+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEHrBYPudH862glXQBzJUERRm+ZmkFAmXHZRAXHG1rYmVzdGFz
 QGxpbmVhZ2Vvcy5vcmcACgkQzJUERRm+Zmk5IA/+OkHOCAOt4D9feGwxCyoBs+gw
 RkMaqc7tAX0o95RUc4Dr9C0YCitthgceMWL8/yamQrqkmFlk92ir7AGpbxUIerIM
 +2dqx8jlbxveQJOZ23htG99qaAXj4TQ6FjUCSLdpATqYRPrARL66zLOgBjtoF3zV
 fFkTSsxMhhZMyJxYyXpoTD3R/iyyjXpFDIEiDJnFyL6j6zcs2980gKx/KCdc+pM6
 4jyaAC++cHpOLtWSjgfnGAT3MW9Pan4STGTDURqwm/AvgeuBkorTPFib/V1fZtku
 Ya2VHo+VdbVPzXYScFyCWQyicrZzVMFeyIt0He/9NOfpVxZ4PpAoh55AP0iEdUP5
 khooH9Svz5YOl5Bb1uOrv/f+bm5tH1QVpnP1kmkvMtTMGUQNZWDlgStMojStHUl2
 5vu+LQIKyw2deFhxjRn/y4xWlw6CpdR+y74SnmXUobi0GygovYoMyiA/4zPpRptr
 s3B9umTS0SiWd9KZ3fi2vpfbzEKUsz5di/d2b7mJ0ML0g8b7HVVLwk9cZtgiWz4j
 XKStku1btoNER+Cazh9H4AyxQOZhHzzqbSyYpmzxHxamOIGm38m+DMMXpVUlvm+T
 iLOgeX6H3MXXXIXQ68kVkcGN9U2Tjpl/QI74v2WDmbmdTL1IU7HhQsvjLxLO4AqD
 uCLTqS6Mk1B8e52uzKM=
 =V6Lo
 -----END PGP SIGNATURE-----

Merge tag 'android-security-13.0.0_r14' into staging/lineage-20.0_merge-android-security-13.0.0_r14

Android Security 13.0.0 Release 14 (11228180)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZcEefgAKCRDorT+BmrEO
# eBZMAJ9X5pHMA9vWVMGpuRqqjhezxtzRrACeNhs//JRYL35m8RfQBtBziwtsEQQ=
# =v03+
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon Feb  5 19:44:30 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2266 signatures in the past
#      2 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Keith Mok
# Via Android Build Coastguard Worker
* tag 'android-security-13.0.0_r14':
  File size seal for memory mapped region

Change-Id: I3052f024da635dc39548a6be9a4e0b107f16a81b
