dongjiuzhu1
dcc006035d
fs/rename: fix use after free issue about rename
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-10-26 01:04:23 +08:00
Petro Karashchenko
1b0baa8337
nuttx: use lib_free for memory de-allocation after strdup or asprintf
...
The memory allocated with strdup and asprintf is done via lib_malloc
so we need to use lib_free to deallocate memory otherwise the assertion
"Free memory from the wrong heap" is hit with flat mode and user separated
heap enabled mode.
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-08-08 11:58:29 -03:00
Petro Karashchenko
b3d620152e
Revert "Don't call lib_free in the kernel code"
...
This reverts commit 7884c18620
.
2023-08-08 11:58:29 -03:00
Xiang Xiao
7884c18620
Don't call lib_free in the kernel code
...
since kernel just allocate memory from kmm_malloc
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-06 06:51:24 -03:00
Fotis Panagiotopoulos
098b7bbfb3
Fixes in asprintf usage.
2023-04-19 02:48:39 +08:00
Dong Heng
a51e102a41
xtensa/esp32: Make asprintf and lib_free corresponding
2023-04-06 20:57:19 +03:00
anjiahao
d1d46335df
Replace nxsem API when used as a lock with nxmutex API
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
Xiang Xiao
47b47e0bb7
fs/vfs: Remove the redundancy file name comparison in mountptrename
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 15:27:08 -03:00
Xiang Xiao
7b19a605a7
fs/vfs: Free subdir before allocate new one in pseudorename
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 15:27:08 -03:00
Petro Karashchenko
969a06331f
fs/vfs: fix case when file to rename does not exist
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-10-15 04:04:12 +08:00
Xiang Xiao
bdeaea3742
Remove the unnessary empty line after label
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-30 17:54:56 +02:00
Xiang Xiao
0148e1d501
fs: Support the root file system attributes(mode, uid, gid and time)
...
Note: all attributes is guarded by PSEUDOFS_ATTRIBUTES to save the space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I664d60382e356068fd920f08aca5b4a49d8d92a9
2021-07-14 10:35:15 -03:00
zhouliang3
b7653e2fae
fs: Add parent node of inode
...
N/A
Signed-off-by: zhouliang3 <zhouliang3@xiaomi.com>
Change-Id: I006c6172ced8edd47b9d4661880e04d3a4274854
2021-07-09 18:23:34 -03:00
Xiang Xiao
643ee82e9c
fs: pseudorename should call inode_release in the error path
...
to avoid the memory leak
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I8f7e4c8fb89188614d03dcf383a1707f25c65174
2021-07-09 15:18:32 -03:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Xiang Xiao
66057a4612
fs: Add the relative path support
...
all functions which accept the path argument should support the relative path:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-24 03:13:27 -07:00
Xiang Xiao
b76c4672d6
vfs: Create a node as the root of pseudo file system
...
to remove the special process for root
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-16 11:44:57 -07:00
Xiang Xiao
1e848e5d8b
fs: Call RELEASE_SEARCH to free resource in pseudorename
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-16 01:06:53 -07:00
Xiang Xiao
59fbd35609
fs: rename the mountpoint should go through pseudorename branch
...
to avoid this type of error:
mount -t procfs /a/b
mv /a/b /
mv: rename failed: 88
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-15 23:07:20 -07:00
Xiang Xiao
85428036ab
fs/vfs: Don't check CONFIG_NFILE_STREAMS for mkdir/rename/rmdir/fs_unlink
...
since these function don't depend on standard input/output function
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I011a387a1e2c1360e8f37716d512bd32f93ad467
2020-08-17 00:16:26 +01:00
Gregory Nutt
a4d6af8343
Check return from nxsem_wait_initialize()
...
Resolution of Issue 619 will require multiple steps, this part of the first step in that resolution: Every call to nxsem_wait_uninterruptible() must handle the return value from nxsem_wait_uninterruptible properly. This commit is only for those files under fs/inode. Utility functions under fs/incode were modified so the changes do extend to other fs/ sub-directories as well.
2020-03-30 01:33:31 +01:00
Gregory Nutt
547a3cb3d9
Run all .c and .h files in previous commits through nxstyle.
2020-03-22 08:24:07 -05:00
Gregory Nutt
7a871e2f29
fs/: Remove support for CONFIG_FS_WRITABLE
2020-03-22 08:24:07 -05:00
Xiang Xiao
6a3c2aded6
Fix wait loop and void cast ( #24 )
...
* Simplify EINTR/ECANCEL error handling
1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx
* Unify the void cast usage
1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Gregory Nutt
bd3cc792ff
fs/: Run all .c files under fs/ through tools/nxstyle.
2019-10-27 11:48:14 -06:00
Nathan Hartman
46aaec7ba0
Fix minor typos in docs and comments.
2019-09-29 12:52:20 -06:00
Gregory Nutt
be3dd0bac6
fs/: Fix various coding standard issues found while testing tools/nxstyle.c
2019-03-01 15:01:04 -06:00
Gregory Nutt
3055025e00
rename(): Correct more issues. (1) Move to the root directory in the pseudo file system, (2) Fix path naming calculation when the path is the root directory of a mounted file system, and (3) dont't do the rename if the source and destination of the rename are the same.
2017-02-12 08:37:28 -06:00
Gregory Nutt
e20e9f0fe4
Update a comment
2017-02-11 18:55:13 -06:00
Gregory Nutt
2d11d8f1a4
rename: An inode with no operations should be treated like a directory for the purposes of rename
2017-02-11 12:02:50 -06:00
Gregory Nutt
bd7d3a92f5
Add logic to VFS rename: If target of rename exists and is a directory, then the source file should be moved 'under' the target directory. POSIX also requires that if the target is a file, then that old file must be deleted.
2017-02-11 11:18:30 -06:00
Gregory Nutt
af5a8e73d3
VFS rename: Fix issues with rename to subdirectories and some softlink issues.
2017-02-11 10:08:23 -06:00
Gregory Nutt
45fd98da88
Add macros support that will eventually allow dynamic allocation of strings need to support soft links.
2017-02-05 14:25:45 -06:00
Gregory Nutt
8f2c7198ed
inode_find: Now takes struct inode_desc_s type as input. This was necessary before that structure includes some data storage. It was used within inode_find(), but that means that the life of the data was the life of inode_find(). That data must persist longer. It is now provided by the caller so that the life of the data persists for the entire life of the caller.
2017-02-05 09:51:42 -06:00
Gregory Nutt
0c9935f8ac
FS: Remove inode_find_nofollow. Instead provide a bool nofollow argument to inode_find.
2017-02-04 11:46:54 -06:00
Gregory Nutt
9008308b64
Remove some block comments before empty code sections
2016-04-11 18:16:04 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
cc7130b836
Correct a reference counting error in mq_open()
2015-09-23 10:34:08 -06:00
Gregory Nutt
ae90309b36
Move fs/fs.h to fs/inode/inode.h and some to fs/driver/driver.h
2014-09-29 07:14:38 -06:00
Gregory Nutt
ff73be870e
Move renaming files in fs/. to fs/vfs/. (Don't all belong there)
2014-09-28 11:46:11 -06:00