15 Jan, 2021

4 commits


11 Dec, 2020

4 commits


06 Nov, 2020

1 commit


05 Nov, 2020

2 commits


29 Sep, 2020

2 commits

  • Found by sparse:

    fs/incfs/format.c:416:21: warning: incorrect type in assignment (different base types)
    fs/incfs/format.c:416:21: expected restricted __le32 [assigned] [usertype] fh_flags
    fs/incfs/format.c:416:21: got int

    fs/incfs/pseudo_files.c:925:25: warning: incorrect type in argument 4 (different base types)
    fs/incfs/pseudo_files.c:925:25: expected unsigned long long [usertype] size
    fs/incfs/pseudo_files.c:925:25: got restricted __le64 [addressable] [assigned] [usertype] size_attr_value
    fs/incfs/pseudo_files.c:925:42: warning: incorrect type in argument 5 (different base types)
    fs/incfs/pseudo_files.c:925:42: expected unsigned long long [usertype] offset
    fs/incfs/pseudo_files.c:925:42: got restricted __le64 [usertype]
    fs/incfs/pseudo_files.c:1111:24: warning: incorrect type in return expression (different base types)
    fs/incfs/pseudo_files.c:1111:24: expected restricted __poll_t
    fs/incfs/pseudo_files.c:1111:24: got int

    Bug: 169258814
    Fixes: Sparse errors introduced by 3f4938108a7ad, 8334d69e65f60 and cb776f45766a6
    Test: incfs_test passes, sparse shows no errors
    Signed-off-by: Paul Lawrence
    Change-Id: I48596e9521069fc77bf38c345a568529d61c77dc

    Paul Lawrence
     
  • Bug: 169056129
    Test: incfs_test passes
    Signed-off-by: Paul Lawrence
    Change-Id: I8cad9ee4095123bafba33abb65bbb339ba6ff8b5

    Paul Lawrence
     

21 Sep, 2020

1 commit


18 Sep, 2020

3 commits


17 Sep, 2020

2 commits


16 Sep, 2020

1 commit


11 Sep, 2020

4 commits


27 Aug, 2020

1 commit

  • Also fixed two bugs in the process:

    is_pseudo_filename was not previously checking for .log, so an attempt
    to create a .log would succeed.

    All ioctls could be called on all files. ioctls now set on the correct
    files.

    Bug: 162856396
    Test: incfs_test passes
    Signed-off-by: Paul Lawrence
    Change-Id: I3f1e87d018836f51a97897880dd70181db4f7169

    Paul Lawrence
     

20 Aug, 2020

1 commit


19 Aug, 2020

2 commits

  • Bug: 160634482
    Test: incfs_test passes
    Signed-off-by: Paul Lawrence
    Change-Id: Ic2ac8dfccd60f6c9c72c38bf323997fce7546c1c

    Paul Lawrence
     
  • It's still magic number issue which cannot be compatible with
    arm-32 platform, although we try to fix it in Iae4f3877444
    ("ANDROID: Incremental fs: magic number compatible 32-bit"),
    there is still incompatible scenario, such as: get_incfs_node(),
    it will return NULL then kernel exception will be trigger because
    of NULL pointer access. (inode_set() -> get_incfs_node(), then used
    node->xxx directly)

    We change magic number directly, otherwise, we must fix above issues one by one.

    Bug: 159772865
    Fixes: Iae4f3877444("ANDROID: Incremental fs: magic number compatible 32-bit")
    Signed-off-by: Peng Zhou
    Signed-off-by: mtk81325
    Change-Id: I71f279c1bb55ea296ab33a47644f30df4a9f60a6

    mtk81325
     

13 Aug, 2020

1 commit


05 Aug, 2020

1 commit


28 Jul, 2020

4 commits


25 Jul, 2020

3 commits

  • 1: Invoke kunmap(page) in error path
    2: Validate NULL checks at few places in the code.
    3: path_put() should not be invoked if path entry is null.
    Although path_put() checks for NULL condition internally,
    caller should gracefully handle it.

    Bug: 161565969
    Test: kernel selftest - incfs_test, incfs_perf

    Signed-off-by: Akilesh Kailash
    Change-Id: Ie4dfaaba4b09f4798d492f8a25dd9dcc8da89e51

    Akilesh Kailash
     
  • Use RCU locks instead of pending_reads_mutex.
    Current mutex is taking lock on entire mount_info
    structure which seems a heavy operation.

    Following fields of mount_info structure
    are protected through spinlocks for multiple
    writers and are RCU safe for readers:

    - reads_list_head
    - mi_pending_reads_count
    - mi_last_pending_read_number
    - data_file_segment.reads_list_head

    We could probably use atomic_inc/atomic_dec for
    mi_pending_reads_count and mi_last_pending_read_number
    which can futher cut down spin_locks at couple of more places,
    thereby only the list addition and removal can protected
    by spinlock. This CL doesn't address it.

    Bug: 161565969
    Test: kernel selftest incfs_test and incfs_perf

    Signed-off-by: Akilesh Kailash
    Change-Id: Iad7439657016764dce25d64c8b3df69b930452bc

    Akilesh Kailash
     
  • Incfs's magic is bigger than 32-bit, but super block structure's
    s_magic is unsigned long which is 32-bit in ARM 32-bit platform.

    Do the cast for magic!

    Bug: 159772865
    Signed-off-by: Peng Zhou
    Signed-off-by: mtk81325
    Signed-off-by: Paul Lawrence
    Change-Id: Iae4f38774440c7d6ae44529d4f0f8ebb2ec5dacc

    mtk81325
     

25 Jun, 2020

1 commit


09 Jun, 2020

1 commit


08 Jun, 2020

1 commit