| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These wrappers are meant to handle the case where read or writes
handles a smaller number of bytes than requested.
This way that handling doesn't need to be duplicated everywhere
in libsamsung-ipc.
Having access to the ipc_client struct could enable future
logging of read and writes without having to change any of the
code already using data_read and data_write.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently libsamsung-ipc assumes that the size of nv_data.bin
files are always 0x200000.
While it's supposed to be the case for all the devices we support,
it is still a good idea to make sure that a meaningful error message
is reported to the users of nv_data-md5.
For instance if we created an empty file of 1 kB with the following
command:
$ ddrescue -s 1k /dev/zero zero.img
and that we used nv_data-md5 on it:
$ ./tools/nv_data-md5 zero.img
[ipc] file_data_read: Error: rc < 0
[ipc] ipc_nv_data_md5_calculate failed: data is NULL
Calculating nv_data backup md5 failed
we had a completely meaningless error message.
With this patch the error message looks like that instead:
$ ./tools/nv_data-md5 zero.img
[ipc] ipc_nv_data_md5_calculate: Checking zero.img size failed:
requested size: 2097152, file size: 1000
Calculating nv_data backup md5 failed
Here users have at least a fighting chance of being able to understand
what is going wrong.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file_data_write uses open and lseek, and both can fail. In that case, it
would be a good idea to be able for the caller of file_data_write to be
able to retrieve the cause of the error.
To do that here, we used the same way than write uses to pass on the
information to the caller:
On success, the number of bytes written is returned. On error, -1 is
returned, and errno is set to indicate the cause of the error.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mounting the EFS on your local computer can result in user id
and permissions mismatch because the /etc/fstab doesn't always
match the user ids used by Android.
For instance here's the GT-N7000 EFS on my laptop:
$ ls -l [...]/nv_data.bin
-rwx------ 1 1001 1001 2097152 1 janv. 2000 [...]/nv_data.bin
When using nv_data-md5 on it we have:
$ ./tools/nv_data-md5 [...]/nv_data.bin
[ipc] file_data_read: Error: fd: -1
[ipc] ipc_nv_data_md5_calculate failed: data is NULL
Calculating nv_data backup md5 failed
The error was too cryptic, and I ended up having to dig into the source
code to understand what was going on.
With this patch we now have an error message that is easier to understand:
$ ./tools/nv_data-md5 [...]/nv_data.bin
[ipc] file_data_read open failed with error 13: Permission denied
[ipc] ipc_nv_data_md5_calculate failed: data is NULL
Calculating nv_data backup md5 failed
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reorders includes alphabetically and groups them together:
- C standard library includes of depth 1 are grouped together
- "System" libraries of depth > 1 age grouped together
- The (lib)samsung-ipc include(s) is/are grouped together
We also need to keep the inclusion of sys/socket.h before linux/netlink.h
in order to prevent the following compilation error on Replicant 4.2:
bionic/libc/kernel/common/linux/netlink.h:52:2: error: unknown type
name 'sa_family_t'
While Replicant 4.2 is not really maintained anymore, it is still being
used for testing libsamsung-ipc on devices that are not supported anymore
by more recent Replicant versions, so we need to keep libsamsung-ipc and
libsamsung-ril working on it.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This contains no functional changes.
The commented out code if any has also been preserved as it
could be relevant to the understanding of the code.
It will be kept until we understand why the code has been
commented. In that case we either need to remove it completely
or to replace it by a comment explaining why not having that
code was necessary.
For __FUNCTION__, according to checkpatch.pl, it's gcc
specific:
WARNING: __func__ should be used instead of gcc specific __FUNCTION__
However __func__ is part of the C18 standard[1]. In the
"6.4.2.2 Predefined identifiers" section, we have:
"The identifier __func__ shall be implicitly declared by
the translator as if, immediately following the opening
brace of each function definition, the declaration
static const char __func__[] = "function-name";
"
Using symbolic permissions for file mode triggered a
checkpatch.pl warning:
WARNING: Symbolic permissions
'S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH' are not
preferred. Consider using octal permissions '0644'.
The rationale behind that is that octal is generally easier
to understand than the symbolic relresentation. For more
information, see the follwoing Linux commit:
f90774e1fd27 checkpatch: look for symbolic permissions and suggest octal instead
References:
-----------
[1]The standard doesn't seem to be available for free, but the draft
can be downloaded from the following URL:
https://web.archive.org/web/20181230041359if_/http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Reviewed-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
|
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
| |
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
|
|
|
|
| |
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
|
| |
|
|
|
|
| |
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
|
|
|
|
| |
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
|
|
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
|