You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2020/05/01 15:22:12 UTC

[incubator-nuttx] branch master updated (542b684 -> 261ce70)

This is an automated email from the ASF dual-hosted git repository.

acassis pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 542b684  arch/arm: Rename all up_*.S files to arm_*.S
     new 1c024a6  Remove the argument from get_errno
     new 261ce70  rpmsg/hostfs: fix: taking address of packed member may result in an unaligned pointer value

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 fs/hostfs/hostfs_rpmsg_server.c | 50 +++++++++++++++++++++++++++++++----------
 include/errno.h                 |  2 +-
 2 files changed, 39 insertions(+), 13 deletions(-)


[incubator-nuttx] 01/02: Remove the argument from get_errno

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 1c024a6d397c1c376a2a52f32ac47776eb53b4e8
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Fri May 1 18:15:33 2020 +0800

    Remove the argument from get_errno
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 fs/hostfs/hostfs_rpmsg_server.c | 19 ++++++++++---------
 include/errno.h                 |  2 +-
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/fs/hostfs/hostfs_rpmsg_server.c b/fs/hostfs/hostfs_rpmsg_server.c
index dac6caf..c10ed27 100644
--- a/fs/hostfs/hostfs_rpmsg_server.c
+++ b/fs/hostfs/hostfs_rpmsg_server.c
@@ -481,7 +481,7 @@ static int hostfs_rpmsg_closedir_handler(FAR struct rpmsg_endpoint *ept,
       nxsem_wait(&priv->sem);
       priv->dirs[msg->fd] = NULL;
       nxsem_post(&priv->sem);
-      ret = ret ? get_errno(ret) : 0;
+      ret = ret ? -get_errno() : 0;
     }
 
   msg->header.result = ret;
@@ -496,7 +496,7 @@ static int hostfs_rpmsg_statfs_handler(FAR struct rpmsg_endpoint *ept,
   int ret;
 
   ret = statfs(msg->pathname, &msg->buf);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -508,7 +508,7 @@ static int hostfs_rpmsg_unlink_handler(FAR struct rpmsg_endpoint *ept,
   int ret;
 
   ret = unlink(msg->pathname);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -520,7 +520,7 @@ static int hostfs_rpmsg_mkdir_handler(FAR struct rpmsg_endpoint *ept,
   int ret;
 
   ret = mkdir(msg->pathname, msg->mode);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -532,7 +532,7 @@ static int hostfs_rpmsg_rmdir_handler(FAR struct rpmsg_endpoint *ept,
   int ret;
 
   ret = rmdir(msg->pathname);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -549,7 +549,7 @@ static int hostfs_rpmsg_rename_handler(FAR struct rpmsg_endpoint *ept,
   newpath = msg->pathname + oldlen;
 
   ret = rename(msg->pathname, newpath);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -561,7 +561,7 @@ static int hostfs_rpmsg_stat_handler(FAR struct rpmsg_endpoint *ept,
   int ret;
 
   ret = stat(msg->pathname, &msg->buf);
-  msg->header.result = ret ? get_errno(ret) : 0;
+  msg->header.result = ret ? -get_errno() : 0;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -623,8 +623,9 @@ static void hostfs_rpmsg_ns_unbind(FAR struct rpmsg_endpoint *ept)
   kmm_free(priv);
 }
 
-static int hostfs_rpmsg_ept_cb(FAR struct rpmsg_endpoint *ept, FAR void *data,
-                               size_t len, uint32_t src, FAR void *priv)
+static int hostfs_rpmsg_ept_cb(FAR struct rpmsg_endpoint *ept,
+                               FAR void *data, size_t len, uint32_t src,
+                               FAR void *priv)
 {
   struct hostfs_rpmsg_header_s *header = data;
   uint32_t command = header->command;
diff --git a/include/errno.h b/include/errno.h
index 35dca42..8bd8bcf 100644
--- a/include/errno.h
+++ b/include/errno.h
@@ -93,7 +93,7 @@
 
 #  define errno *get_errno_ptr()
 #  define set_errno(e) do { errno = (int)(e); } while (0)
-#  define get_errno(e) errno
+#  define get_errno() errno
 
 #else
 


[incubator-nuttx] 02/02: rpmsg/hostfs: fix: taking address of packed member may result in an unaligned pointer value

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 261ce70e946e2a75a963f4e9bb01dda83d9ee7b1
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Fri May 1 18:44:48 2020 +0800

    rpmsg/hostfs: fix: taking address of packed member may result in an unaligned pointer value
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 fs/hostfs/hostfs_rpmsg_server.c | 35 ++++++++++++++++++++++++++++++-----
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/fs/hostfs/hostfs_rpmsg_server.c b/fs/hostfs/hostfs_rpmsg_server.c
index c10ed27..1216d92 100644
--- a/fs/hostfs/hostfs_rpmsg_server.c
+++ b/fs/hostfs/hostfs_rpmsg_server.c
@@ -361,10 +361,15 @@ static int hostfs_rpmsg_fstat_handler(FAR struct rpmsg_endpoint *ept,
   FAR struct hostfs_rpmsg_server_s *priv = priv_;
   FAR struct hostfs_rpmsg_fstat_s *msg = data;
   int ret = -ENOENT;
+  struct stat buf;
 
   if (msg->fd >= 0 && msg->fd < CONFIG_NFILE_DESCRIPTORS)
     {
-      ret = file_fstat(&priv->files[msg->fd], &msg->buf);
+      ret = file_fstat(&priv->files[msg->fd], &buf);
+      if (ret >= 0)
+        {
+          msg->buf = buf;
+        }
     }
 
   msg->header.result = ret;
@@ -493,10 +498,20 @@ static int hostfs_rpmsg_statfs_handler(FAR struct rpmsg_endpoint *ept,
                                        uint32_t src, FAR void *priv)
 {
   FAR struct hostfs_rpmsg_statfs_s *msg = data;
+  struct statfs buf;
   int ret;
 
-  ret = statfs(msg->pathname, &msg->buf);
-  msg->header.result = ret ? -get_errno() : 0;
+  ret = statfs(msg->pathname, &buf);
+  if (ret)
+    {
+      ret = -get_errno();
+    }
+  else
+    {
+      msg->buf = buf;
+    }
+
+  msg->header.result = ret;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }
 
@@ -558,10 +573,20 @@ static int hostfs_rpmsg_stat_handler(FAR struct rpmsg_endpoint *ept,
                                      uint32_t src, FAR void *priv)
 {
   FAR struct hostfs_rpmsg_stat_s *msg = data;
+  struct stat buf;
   int ret;
 
-  ret = stat(msg->pathname, &msg->buf);
-  msg->header.result = ret ? -get_errno() : 0;
+  ret = stat(msg->pathname, &buf);
+  if (ret)
+    {
+      ret = -get_errno();
+    }
+  else
+    {
+      msg->buf = buf;
+    }
+
+  msg->header.result = ret;
   return rpmsg_send(ept, msg, sizeof(*msg));
 }