Skip to content
  1. Jul 11, 2024
    • Devang's avatar
      NetlinkManager: Increase netlink receive socket buffer to 128KB · ee063f48
      Devang authored
      Current buffer size is too small - vold can miss sdcard block device
      uevent at the startup which result in card not being mounted until
      user reinserts the tray.
      
      An example for the Sony H8216 device:
      
        * 64KB buffer size
          * vold's /proc/net/netlink entry - 4 drops:
            0000000000000000 15 718 ffffffff 0 0 0 2 4 15066
          * 'sm list-volumes' output - sdcard isn't mounted:
            private mounted null
            emulated mounted null
      
        * 128KB buffer size
          * vold's /proc/net/netlink entry - no drops:
            0000000000000000 15 686 ffffffff 0 0 0 2 0 15225
          * 'sm list-volumes' output - sdcard is mounted:
            private mounted null
            public:179,1 mounted F08D-EA6A
            emulated mounted null
      
      Bug: 111172932
      Test: Manual - Insert SD card and see it is detected
      Change-Id: Iaae8567bce52a957ad4241e53953ef3ff215961a
      ee063f48
    • Pierre-Hugues Husson's avatar
      main: Log support for exfat/texfat FS driver names · 1b6c1661
      Pierre-Hugues Husson authored
      Change-Id: I5ae38741374b25b84595a9eae9bdda7afe2cac05
      1b6c1661
    • Alexander Koskovich's avatar
      Android: Build exfatprogs & declare support of exFAT · 4d0aec96
      Alexander Koskovich authored
      
      
      Change-Id: If7c98275b4a3ca41c4471755114aecc7ae827664
      Signed-off-by: default avatarPranav Vashi <neobuddy89@gmail.com>
      4d0aec96
  2. Jun 15, 2024
    • Michael Bestas's avatar
      Revert "vold: remove session keyring workaround for old kernels" · bee0b85d
      Michael Bestas authored
      Reason for revert: Still needed for <4.14 devices.
      
      This reverts commit 0e87a83c.
      
      Change-Id: I025911c9cb033d8021e6f23c005ce546411b1472
      bee0b85d
    • Michael Bestas's avatar
      Merge tag 'android-14.0.0_r50' into staging/lineage-21.0_merge-android-14.0.0_r50 · 735dcabf
      Michael Bestas authored
      Android 14.0.0 Release 50 (AP2A.240605.024)
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZmdzqQAKCRDorT+BmrEO
      # eLG9AJwMfwRuCe/+bKQSnR15cYFjNmm/IACeIfMs1x4SZyy5mHqDeFWCfDy4SMI=
      # =7Fr6
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue Jun 11 00:44:09 2024 EEST
      # 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 2542 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 Eric Biggers (3) and others
      # Via Automerger Merge Worker (18) and others
      * tag 'android-14.0.0_r50':
        Delete unused code conditional on MANAGE_MISC_DIRS
        Add API to get remaining lifetime as a percentage.
        Add time_offset=<UTC offset> to mount arguments
        Don't use std::allocator::pointer
        Remove userSerial param from vold methods that don't use it
        vold: remove session keyring workaround for old kernels
        Reduce AppFuse max read size.
      
       Conflicts:
      	KeyUtil.cpp
      
      Change-Id: I27cf6365a8982c40e24707748720b75b4659fea0
      735dcabf
  3. May 27, 2024
    • Tom Marshall's avatar
      vold: Support internal storage partitions · cfb169c2
      Tom Marshall authored
      
      
       * Support nonremovable disks and expose a nonremovable flag in the
         DiskCreated message.
       * New DiskPartition class to hold single partitions.  DiskPartition is
         used when the fs_mgr entry has a partnum (eg. when fs_mgr_flags
         contains voldmanaged=label:#).  Override disk partitioning methods
         to prevent destroying the emmc.
      
      Change-Id: Id7ec3ea409b5c96e691730604e4b1e9cc3aa9d33
      
      vold: Correct base header paths
      
      These headers were moved to android-base
      
      Change-Id: I3eaa8316006b9017c5f5e31cd1e91efc2862106d
      
      DiskPartition.cpp: Add sysmacros.h dependency for major/minor
      
      Change-Id: I22c267c8f12b40fb3e2295becd88f12b75907b69
      Signed-off-by: default avatarAdrian DC <radian.dc@gmail.com>
      
      [mikeioannina] Adapt for Pie and Q
      
      Change-Id: Id7ec3ea409b5c96e691730604e4b1e9cc3aa9d33
      cfb169c2
  4. Mar 09, 2024
    • Michael Bestas's avatar
      Merge tag 'android-14.0.0_r29' into staging/lineage-21.0_merge-android-14.0.0_r29 · 8d88156f
      Michael Bestas authored
      Android 14.0.0 release 29
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZeZW7AAKCRDorT+BmrEO
      # eMBBAJ0S26LIKmwlJMHXgC427MCRZRIXPwCfV7jsbqdKU9Hs7tsV8Dw1EtnW/qI=
      # =L2Xt
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue Mar  5 01:19:08 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 2370 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 Eric Biggers (14) and others
      # Via Automerger Merge Worker (216) and others
      * tag 'android-14.0.0_r29': (36 commits)
        Add support for 16k F2FS
        Use logical path to handle different dm target per boot
        Add new modules to TEST_MAPPING
        Verify if pid actually killed for processes with open files
        Rename "user key" methods in vold
        Revert "fskeyring & userspace reboot: support CE keys"
        Evict adoptable storage CE and DE keys when possible
        Don't erase key from s_new_ce_keys on eviction
        Call fscrypt_destroy_volume_keys() under mCryptLock
        Fold read_and_install_user_ce_key() into fscrypt_unlock_user_key()
        Adding corpus for vold fuzzer
        Correct reserved blocks to segments
        Adding public volume mounts for clone user.
        Do not read ro.apex.updatable.
        Add vdc volume getStorageSize
        Revert "Introduce ro.crypto.uses_fs_ioc_add_encryption_key property"
        Use String8/16 c_str
        Use /data/misc/apexdata for the list of APEXes
        Revert "Use apexservice to get the list of apexes"
        Revert "fskeyring & userspace reboot: support CE keys"
        ...
      
       Conflicts:
      	FsCrypt.cpp
      
      Change-Id: I69471ad719a544505913dc7a2b156b3e5d54f08f
      8d88156f
  5. Feb 29, 2024
  6. Feb 28, 2024
  7. Feb 27, 2024
  8. Feb 20, 2024
  9. Feb 19, 2024
  10. Feb 02, 2024
  11. Feb 01, 2024
  12. Jan 31, 2024
  13. Jan 24, 2024
  14. Jan 20, 2024
  15. Jan 19, 2024
    • Neil Fuller's avatar
    • Neil Fuller's avatar
    • Neil Fuller's avatar
    • Neil Fuller's avatar
      Add time_offset=<UTC offset> to mount arguments · 6eea0317
      Neil Fuller authored
      Add time_offset=<UTC offset> to mount arguments for the vfat driver.
      
      This is not being release flagged as it's a fix for a regression but is
      a cosmetic fix that shouldn't affect anything besides reported file
      timestamps.
      
      Changes for issue 246256335 in Android U stopped Android syncing the
      current time zone UTC offset to the kernel because doing so is
      discouraged. It is discouraged because the current offset alone is not
      very useful - it tells the kernel nothing of DST or historic UTC
      offsets. Converting to and from local times are are best left to
      userspace where time zone rules information is available, and different
      users can use different time zones.
      
      However, because FAT32 is poorly designed WRT timestamps, the kernel
      FAT32 driver, vfat, does use the kernel offset when available and when
      it isn't given a fixed offset to use at volume mount time. This means
      that Android devices after the change from issue 246256335 displayed
      more obviously incorrect times.
      
      This change adds the argument necessary to vold when mounting a FAT32
      volume to set a fixed UTC offset to adjust FAT32 local times
      to a UTC-like time ("UTC time" from now on). Userspace then uses the UTC
      offset for that UTC time, calculated using TZDB rules, to convert back
      to a local time. This is still prone to generating some incorrect times,
      e.g. due to DST or other historic offset changes, or a user time zone
      change on device after mounting the volume. FAT32 lacks the information
      about "what was the UTC offset at file time X?" (unlike exFAT) AND the
      vfat driver has no way to look up the time zone rules itself. This
      change is a reasonable "better than nothing" change to address times
      being obviously wrong after the change from issue 246256335, especially
      when a user copies a file from a desktop computer to USB / sd card
      storage and immediately plugs the device into an Android device. It does
      this without reverting to kernel UTC offset syncing, which is flawed
      (i.e. it would never work completely), discouraged, and more effort/code
      to improve, e.g. because userspace would have to schedule alarms for
      offset changes.
      
      Testing:
      
      1) Obtain a USB FAT32 formatted USB storage device that can be plugged into
         a pixel device, e.g. with an OTG USB adapter.
      2) On a desktop computer, mount the device and write some files / note
         times associated with existing files. These times will already be
         adjusted by this OS to be "local time" based on its own logic, but if
         it's working correctly that time will be exactly the local time value
         stored in the FAT32 volume itself.
      3) On a rooted Android device where you can use adb via Wifi (adb tcpip
         / adb connect), leaving the USB port free for external USB devices....
         a) $ adb root
         b) Insert the USB storage
         c) $ mount | grep 'fat'
         d) For the USB storage drive, observe the time_offset argument (or
         tz=UTC when time_offset == 0) reported (this would not be reported
         without this patch)
         e) ls -l /mnt/<mount location from (3c)>
         f) Confirm the local time displayed is as expected. e.g. the time
         should be the same as shown in (2), regardless of the device's time
         zone.
      4) To observe the "fixed offset behavior" at mount time, alter the time
         zone setting on the device via Settings -> System -> Date & Time
         a) Repeat 3c-3e.
         b) The times shown will have changed by the difference between
         the original and new time zone chosen.
         c) Extract / re-insert the USB storage device.
         d) Repeat 3c-3e
         e) The times shown should match the times from (2) again
      5) Confirm the write behavior:
         a) $ touch /mnt/<mount location from (3c)>/foobar
         b) $ ls -l /mnt/<mount location from (3c)>
         c) The time should match the device's displayed local time (status
         bar)
         d) Unmount the USB device and insert the USB device into a desktop computer
         e) Confirm the timestamp matches the Android device's local time when
         (5a) took place, e.g. using "ls -lT" on MacOS.
      
      Testing was done with numerous zones with positive, negative and zero offsets.
      Interesting zones like India (UTC+5:30), Kiribati (UTC+14), Wake Island
      (UTC-11), the various fixed offset zones like Etc/GMT+12, Etc/GMT-14
      were tried.
      
      Note: Depending on the time zones being used on devices (Android and
      desktop) and when the files were written / testing took place during the
      year, you may see file times shifting by 1 hour from the "ls -l" step
      depending on whether they were written in summer or winter time.  This
      is because the userspace code for rendering times knows about DST but
      the kernel driver is applying a fixed offset and does not.  This is
      expected and illustrates the points at the top of this comment about
      FAT32 integration never being perfect.
      See https://www.google.com/search?q=fat32+dst for other examples.
      
      Bug: 319417938
      Bug: 315058275
      Bug: 246256335
      Test: See above
      Change-Id: Ic7ce159d88db5d5cf5894bcc26ea60bd7c44917d
      6eea0317
  16. Jan 12, 2024
  17. Jan 11, 2024
  18. Jan 10, 2024
  19. Jan 06, 2024
  20. Jan 05, 2024
Loading