diff mbox series

[2/2] musl: Wire-up name_to_handle_at and name_to_handle_at syscalls

Message ID 20180913010531.41241-2-raj.khem@gmail.com
State Accepted
Commit a74faf487545df16c7395ee6f6a302f989c1341b
Headers show
Series [1/2] linux-libc-headers: Include linux/stddef.h in linux/swab.h | expand

Commit Message

Khem Raj Sept. 13, 2018, 1:05 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 ...e_to_handle_at-and-name_to_handle_at.patch | 76 +++++++++++++++++++
 meta/recipes-core/musl/musl_git.bb            |  1 +
 2 files changed, 77 insertions(+)
 create mode 100644 meta/recipes-core/musl/musl/0001-wireup-linux-name_to_handle_at-and-name_to_handle_at.patch

-- 
2.19.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Richard Purdie Sept. 13, 2018, 1:14 p.m. UTC | #1
On Wed, 2018-09-12 at 18:05 -0700, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>


Somewhat ironically, this breaks musl builds in strace:

https://autobuilder.yoctoproject.org/typhoon/#/builders/11/builds/55/steps/7/logs/step1b
https://autobuilder.yoctoproject.org/typhoon/#/builders/27/builds/55/steps/7/logs/step1b

Cheers,

Richard
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Sept. 13, 2018, 2:12 p.m. UTC | #2
On Thu, Sep 13, 2018 at 6:14 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>

> On Wed, 2018-09-12 at 18:05 -0700, Khem Raj wrote:

> > Signed-off-by: Khem Raj <raj.khem@gmail.com>

>

> Somewhat ironically, this breaks musl builds in strace:

>

> https://autobuilder.yoctoproject.org/typhoon/#/builders/11/builds/55/steps/7/logs/step1b

> https://autobuilder.yoctoproject.org/typhoon/#/builders/27/builds/55/steps/7/logs/step1b

>


yeah, sent another fix on top.

> Cheers,

>

> Richard

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff mbox series

Patch

diff --git a/meta/recipes-core/musl/musl/0001-wireup-linux-name_to_handle_at-and-name_to_handle_at.patch b/meta/recipes-core/musl/musl/0001-wireup-linux-name_to_handle_at-and-name_to_handle_at.patch
new file mode 100644
index 0000000000..4738e1efd8
--- /dev/null
+++ b/meta/recipes-core/musl/musl/0001-wireup-linux-name_to_handle_at-and-name_to_handle_at.patch
@@ -0,0 +1,76 @@ 
+From ef3ef607693a9513d5ab94a1de67dd2f1f97d8ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Sep 2018 16:08:40 -0700
+Subject: [PATCH] wireup linux/name_to_handle_at and name_to_handle_at syscalls
+
+Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2018/09/13/4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/fcntl.h               |  7 +++++++
+ src/linux/name_to_handle_at.c | 11 +++++++++++
+ src/linux/open_by_handle_at.c | 10 ++++++++++
+ 3 files changed, 28 insertions(+)
+ create mode 100644 src/linux/name_to_handle_at.c
+ create mode 100644 src/linux/open_by_handle_at.c
+
+diff --git a/include/fcntl.h b/include/fcntl.h
+index 6d8edcd1..5c3defcb 100644
+--- a/include/fcntl.h
++++ b/include/fcntl.h
+@@ -155,6 +155,11 @@ int lockf(int, int, off_t);
+ #define F_OWNER_PID 1
+ #define F_OWNER_PGRP 2
+ #define F_OWNER_GID 2
++struct file_handle {
++	unsigned int handle_bytes;
++	int handle_type;
++	unsigned char f_handle[];
++};
+ struct f_owner_ex {
+ 	int type;
+ 	pid_t pid;
+@@ -170,6 +175,8 @@ struct f_owner_ex {
+ #define SPLICE_F_GIFT 8
+ int fallocate(int, int, off_t, off_t);
+ #define fallocate64 fallocate
++int name_to_handle_at(int, const char *, struct file_handle *, int *, int);
++int open_by_handle_at(int, struct file_handle *, int);
+ ssize_t readahead(int, off_t, size_t);
+ int sync_file_range(int, off_t, off_t, unsigned);
+ ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
+diff --git a/src/linux/name_to_handle_at.c b/src/linux/name_to_handle_at.c
+new file mode 100644
+index 00000000..bb6f8007
+--- /dev/null
++++ b/src/linux/name_to_handle_at.c
+@@ -0,0 +1,11 @@
++#define _GNU_SOURCE
++#include <fcntl.h>
++#include "syscall.h"
++
++int name_to_handle_at(int dirfd, const char *pathname,
++			struct file_handle *handle,
++			int *mount_id, int flags)
++{
++	return syscall(SYS_name_to_handle_at, dirfd,
++		pathname, handle, mount_id, flags);
++}
+diff --git a/src/linux/open_by_handle_at.c b/src/linux/open_by_handle_at.c
+new file mode 100644
+index 00000000..9bc93f14
+--- /dev/null
++++ b/src/linux/open_by_handle_at.c
+@@ -0,0 +1,10 @@
++#define _GNU_SOURCE
++#include <fcntl.h>
++#include "syscall.h"
++
++int open_by_handle_at(int mount_fd, struct file_handle *handle,
++                             int flags)
++{
++	return syscall(SYS_open_by_handle_at, mount_fd,
++		handle, flags);
++}
+-- 
+2.19.0
+
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index de1cfd0058..f6edf7de61 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -11,6 +11,7 @@  PV = "1.1.20+git${SRCPV}"
 
 SRC_URI = "git://git.musl-libc.org/musl \
            file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
+           file://0001-wireup-linux-name_to_handle_at-and-name_to_handle_at.patch \
           "
 
 S = "${WORKDIR}/git"