package/weston: update patches with upstream backports
PATCH v2 1/1 package/weston: update patches with upstream backports
These updated patches fix the same issues but are backported from upstream commits instead of pull requests.
Signed-off-by James Hilliard <[email protected]>
--- ...include-sys-mman.h-in-os-compatibili.patch | 17 ++--- ...issing-defines-for-pre-v3.17-kernels.patch | 42 ------------ ...-the-seal-logic-behind-HAVE_MEMFD_CR.patch | 67 +++++++++++++++++++ 3 files changed, 76 insertions(+), 50 deletions(-) delete mode 100644 package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch create mode 100644 package/weston/0002-shared-guard-all-the-seal-logic-behind-HAVE_MEMFD_CR.patch
package/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch +9 -8
@@ -1,4 +1,4 @@ -From 888dd1ae6a0261230b2bc47079d7b20df8c05e68 Mon Sep 17 00:00:00 2001 +From 7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae Mon Sep 17 00:00:00 2001 From: James Hilliard <[email protected]> Date: Sat, 1 Feb 2020 20:02:29 -0700 Subject: [PATCH] unconditionally include sys/mman.h in os-compatibility.c
@@ -13,20 +13,21 @@ Fixes: LOCK_READ Signed-off-by: James Hilliard <[email protected]> -[Upstream status: -https://gitlab.freedesktop.org/wayland/weston/merge_requests/368] +[james.hilliard1 at gmail.com: backport from upstream commit +7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae] --- - shared/os-compatibility.c | 2 -- - 1 file changed, 2 deletions(-) + shared/os-compatibility.c | 3 --- + 1 file changed, 3 deletions(-) diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c -index 5e1ce479..ddc37807 100644 +index 5e1ce479..041c929f 100644 --- a/shared/os-compatibility.c +++ b/shared/os-compatibility.c -@@ -35,9 +35,7 @@ +@@ -34,10 +34,7 @@ + #include <string.h> #include <stdlib.h> #include <libweston/zalloc.h> - +- -#ifdef HAVE_MEMFD_CREATE #include <sys/mman.h> -#endif
package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch deleted +0 -42
42 lines not on this page · raw message
package/weston/0002-shared-guard-all-the-seal-logic-behind-HAVE_MEMFD_CR.patch new file +67 -0
67 lines not on this page · raw message
Signature · 1 line
2.20.1
Yann E. MORIN
AppliedPATCH v2 1/1 package/weston: update patches with upstream backports
James, All,
On 2020-02-08 15:23 -0700, James Hilliard spake thusly:
Quoted 4 lines
These updated patches fix the same issues but are backported from upstream commits instead of pull requests.
Signed-off-by James Hilliard <[email protected]>
Applied to master, thanks!
Regards,
Yann E. MORIN.
Quoted 171 lines
--- ...include-sys-mman.h-in-os-compatibili.patch | 17 ++--- ...issing-defines-for-pre-v3.17-kernels.patch | 42 ------------ ...-the-seal-logic-behind-HAVE_MEMFD_CR.patch | 67 +++++++++++++++++++ 3 files changed, 76 insertions(+), 50 deletions(-) delete mode 100644 package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch create mode 100644 package/weston/0002-shared-guard-all-the-seal-logic-behind-HAVE_MEMFD_CR.patchpackage/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch +9
-8@@ -1,4 +1,4 @@ -From 888dd1ae6a0261230b2bc47079d7b20df8c05e68 Mon Sep 17 00:00:00 2001 +From 7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae Mon Sep 17 00:00:00 2001 From: James Hilliard <[email protected]> Date: Sat, 1 Feb 2020 20:02:29 -0700 Subject: [PATCH] unconditionally include sys/mman.h in os-compatibility.c@@ -13,20 +13,21 @@ Fixes: LOCK_READ Signed-off-by: James Hilliard <[email protected]> -[Upstream status: -https://gitlab.freedesktop.org/wayland/weston/merge_requests/368] +[james.hilliard1 at gmail.com: backport from upstream commit +7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae] --- - shared/os-compatibility.c | 2 -- - 1 file changed, 2 deletions(-) + shared/os-compatibility.c | 3 --- + 1 file changed, 3 deletions(-) diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c -index 5e1ce479..ddc37807 100644 +index 5e1ce479..041c929f 100644 --- a/shared/os-compatibility.c +++ b/shared/os-compatibility.c -@@ -35,9 +35,7 @@ +@@ -34,10 +34,7 @@ + #include <string.h> #include <stdlib.h> #include <libweston/zalloc.h> - +- -#ifdef HAVE_MEMFD_CREATE #include <sys/mman.h> -#endifpackage/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch deleted +0
-42@@ -1,42 +0,0 @@ -From f43c98b23e0d7731cd8d7a9b4510c359f3df7930 Mon Sep 17 00:00:00 2001 -From: James Hilliard <[email protected]> -Date: Sat, 1 Feb 2020 23:32:29 -0700 -Subject: [PATCH] add missing defines for pre-v3.17 kernels - -Signed-off-by: James Hilliard <[email protected]> -[Upstream status: -https://gitlab.freedesktop.org/wayland/weston/merge_requests/369] ---- - shared/os-compatibility.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c -index ddc37807..26c39e67 100644 ---- a/shared/os-compatibility.c -+++ b/shared/os-compatibility.c -@@ -39,6 +39,22 @@ - - #include "os-compatibility.h" - -+#ifndef F_GET_SEALS -+#define F_GET_SEALS (1034) -+#endif -+ -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+ -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+ -+#ifndef F_SEAL_WRITE -+#define F_SEAL_WRITE 0x0008 -+#endif -+ - #define READONLY_SEALS (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) - - int --- -2.20.1 -package/weston/0002-shared-guard-all-the-seal-logic-behind-HAVE_MEMFD_CR.patch new file +67
-0@@ -0,0 +1,67 @@ +From f0d3a6149158f682230ae9a1e69289431974f635 Mon Sep 17 00:00:00 2001 +From: Sebastian Wick <[email protected]> +Date: Wed, 5 Feb 2020 10:27:23 +0100 +Subject: [PATCH] shared: guard all the seal logic behind HAVE_MEMFD_CREATE + +The initial version of os_ro_anonymous_file missed two guards around the +seal logic which leads to a compilation error on older systems. + +Also make the check for a read-only file symmetric in +os_ro_anonymous_file_get_fd and os_ro_anonymous_file_put_fd. + +Signed-off-by: Sebastian Wick <[email protected]> +[james.hilliard1 at gmail.com: backport from upstream commit +f0d3a6149158f682230ae9a1e69289431974f635] +Signed-off-by: James Hilliard <[email protected]> +--- + shared/os-compatibility.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c +index 041c929f..2e12b7cc 100644 +--- a/shared/os-compatibility.c ++++ b/shared/os-compatibility.c +@@ -340,6 +340,7 @@ os_ro_anonymous_file_get_fd(struct ro_anonymous_file *file, + void *src, *dst; + int seals, fd; + ++#ifdef HAVE_MEMFD_CREATE + seals = fcntl(file->fd, F_GET_SEALS); + + /* file was sealed for read-only and we don't have to support MAP_SHARED +@@ -348,6 +349,7 @@ os_ro_anonymous_file_get_fd(struct ro_anonymous_file *file, + if (seals != -1 && mapmode == RO_ANONYMOUS_FILE_MAPMODE_PRIVATE && + (seals & READONLY_SEALS) == READONLY_SEALS) + return file->fd; ++#endif + + /* for all other cases we create a new anonymous file that can be mapped + * with MAP_SHARED and copy the contents to it and return that instead +@@ -388,17 +390,18 @@ os_ro_anonymous_file_get_fd(struct ro_anonymous_file *file, + int + os_ro_anonymous_file_put_fd(int fd) + { ++#ifdef HAVE_MEMFD_CREATE + int seals = fcntl(fd, F_GET_SEALS); + if (seals == -1 && errno != EINVAL) + return -1; + +- /* If the fd cannot be sealed seals is -1 at this point +- * or the file can be sealed but has not been sealed for writing. +- * In both cases we created a new anonymous file that we have to +- * close. ++ /* The only case in which we do NOT have to close the file is when the file ++ * was sealed for read-only + */ +- if (seals == -1 || !(seals & F_SEAL_WRITE)) +- close(fd); ++ if (seals != -1 && (seals & READONLY_SEALS) == READONLY_SEALS) ++ return 0; ++#endif + ++ close(fd); + return 0; + } +-- +2.20.1 +Signature · 1 line
2.20.1
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'