ping On Sat, Dec 2, 2017 at 1:37 AM, Martin Jansa <martin.ja...@gmail.com> wrote:
> From: Khem Raj <raj.k...@gmail.com> > > When using distros which use old kernels gnutls fails to build > due to missing SYS_getrandom, therefore we need to check for this > before using it. > Fixes errorr e.g. > > | ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c: In function > 'have_getrandom': > | ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c:59:42: error: > 'SYS_getrandom' undeclared (first use in this function) > | # define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, > (size_t)s, (unsigned int)flags) > > Signed-off-by: Khem Raj <raj.k...@gmail.com> > Signed-off-by: Martin Jansa <martin.ja...@gmail.com> > --- > .../gnutls/gnutls/check_SYS_getrandom.patch | 35 > ++++++++++++++++++++++ > meta/recipes-support/gnutls/gnutls_3.5.3.bb | 1 + > 2 files changed, 36 insertions(+) > create mode 100644 meta/recipes-support/gnutls/ > gnutls/check_SYS_getrandom.patch > > diff --git a/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch > b/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch > new file mode 100644 > index 0000000..535c22a > --- /dev/null > +++ b/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch > @@ -0,0 +1,35 @@ > +From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001 > +From: Nikos Mavrogiannopoulos <n...@redhat.com> > +Date: Mon, 22 Aug 2016 16:32:34 +0200 > +Subject: [PATCH] rnd-linux: added check for SYS_getrandom being defined > + > +This allows to compile the getrandom() code in old Linux systems > +which do not have the system call defined. > +--- > + > +Upstream-Status: Backport > +Signed-off-by: Khem Raj <raj.k...@gmail.com> > + > + lib/nettle/rnd-linux.c | 6 +++++- > + 1 file changed, 5 insertions(+), 1 deletion(-) > + > +diff --git a/lib/nettle/rnd-linux.c b/lib/nettle/rnd-linux.c > +index d7f07a6..7a24d05 100644 > +--- a/lib/nettle/rnd-linux.c > ++++ b/lib/nettle/rnd-linux.c > +@@ -56,7 +56,11 @@ static dev_t _gnutls_urandom_fd_rdev = 0; > + # else > + # include <sys/syscall.h> > + # undef getrandom > +-# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, > (size_t)s, (unsigned int)flags) > ++# if defined(SYS_getrandom) > ++# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, > (size_t)s, (unsigned int)flags) > ++# else > ++# define getrandom(dst,s,flags) -1 > ++# endif > + # endif > + > + static unsigned have_getrandom(void) > +-- > +libgit2 0.24.0 > + > diff --git a/meta/recipes-support/gnutls/gnutls_3.5.3.bb > b/meta/recipes-support/gnutls/gnutls_3.5.3.bb > index b2dbb07..0400588 100644 > --- a/meta/recipes-support/gnutls/gnutls_3.5.3.bb > +++ b/meta/recipes-support/gnutls/gnutls_3.5.3.bb > @@ -4,6 +4,7 @@ SRC_URI += "file://correct_rpl_gettimeofday_signature.patch > \ > file://0001-configure.ac-fix-sed-command.patch \ > file://use-pkg-config-to-locate-zlib.patch \ > file://0001-Use-correct-include-dir-with-minitasn.patch \ > + file://check_SYS_getrandom.patch \ > file://CVE-2016-7444.patch \ > " > SRC_URI[md5sum] = "6c2c7f40ddf52933ee3ca474cb8cb63c" > -- > 2.7.4 > >
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core