From b2c2028475cceff431aa5f3bbd4ff1214bc8ff0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Cajka?= Date: Wed, 13 Apr 2016 14:44:04 +0200 Subject: [PATCH] rebase to 1.6.1 Resolves: bz1324344 - CVE-2016-3959 Resolves: bz1324951 - prelink is gone, /etc/prelink.conf.d/* is no longer used Resolves: bz1326366 - wrong epoll_event struct for ppc64le/ppc64 --- .gitignore | 1 + golang-1.6-epoll-power64.patch | 206 +++++++++++++++++++++++++++++++++ golang-prelink.conf | 3 - golang.spec | 24 ++-- sources | 2 +- 5 files changed, 221 insertions(+), 15 deletions(-) create mode 100644 golang-1.6-epoll-power64.patch delete mode 100644 golang-prelink.conf diff --git a/.gitignore b/.gitignore index 6672c7e..59f2e85 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /go1.5.3.src.tar.gz /go1.6rc1.src.tar.gz /go1.6.src.tar.gz +/go1.6.1.src.tar.gz diff --git a/golang-1.6-epoll-power64.patch b/golang-1.6-epoll-power64.patch new file mode 100644 index 0000000..fdf9bc8 --- /dev/null +++ b/golang-1.6-epoll-power64.patch @@ -0,0 +1,206 @@ +diff -up go/src/syscall/types_linux.go.than go/src/syscall/types_linux.go +--- go/src/syscall/types_linux.go.than 2016-04-12 09:49:46.699333091 -0400 ++++ go/src/syscall/types_linux.go 2016-04-12 09:50:18.859856525 -0400 +@@ -105,6 +105,9 @@ struct my_epoll_event { + // alignment requirements of EABI + int32_t padFd; + #endif ++#ifdef __powerpc64__ ++ int32_t _padFd; ++#endif + int32_t fd; + int32_t pad; + }; +diff -up go/src/syscall/ztypes_linux_ppc64.go.than go/src/syscall/ztypes_linux_ppc64.go +--- go/src/syscall/ztypes_linux_ppc64.go.than 2016-04-12 09:50:27.499997298 -0400 ++++ go/src/syscall/ztypes_linux_ppc64.go 2016-04-12 09:54:27.593909191 -0400 +@@ -113,9 +113,9 @@ type Stat_t struct { + Atim Timespec + Mtim Timespec + Ctim Timespec +- X__unused4 uint64 +- X__unused5 uint64 +- X__unused6 uint64 ++ _ uint64 ++ _ uint64 ++ _ uint64 + } + + type Statfs_t struct { +@@ -143,7 +143,7 @@ type Dirent struct { + } + + type Fsid struct { +- X__val [2]int32 ++ _ [2]int32 + } + + type Flock_t struct { +@@ -247,7 +247,6 @@ type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +- X__cmsg_data [0]uint8 + } + + type Inet4Pktinfo struct { +@@ -361,7 +360,7 @@ const ( + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 +- IFLA_MAX = 0x22 ++ IFLA_MAX = 0x25 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd +@@ -454,7 +453,7 @@ type RtAttr struct { + + type IfInfomsg struct { + Family uint8 +- X__ifi_pad uint8 ++ _ uint8 + Type uint16 + Index int32 + Flags uint32 +@@ -511,7 +510,6 @@ type InotifyEvent struct { + Mask uint32 + Cookie uint32 + Len uint32 +- Name [0]uint8 + } + + const SizeofInotifyEvent = 0x10 +@@ -532,6 +530,15 @@ type PtraceRegs struct { + Result uint64 + } + ++type ptracePsw struct { ++} ++ ++type ptraceFpregs struct { ++} ++ ++type ptracePer struct { ++} ++ + type FdSet struct { + Bits [16]int64 + } +@@ -551,7 +558,7 @@ type Sysinfo_t struct { + Totalhigh uint64 + Freehigh uint64 + Unit uint32 +- X_f [0]uint8 ++ _ [0]uint8 + Pad_cgo_1 [4]byte + } + +@@ -575,6 +582,7 @@ type Ustat_t struct { + + type EpollEvent struct { + Events uint32 ++ _ int32 + Fd int32 + Pad int32 + } +diff -up go/src/syscall/ztypes_linux_ppc64le.go.than go/src/syscall/ztypes_linux_ppc64le.go +--- go/src/syscall/ztypes_linux_ppc64le.go.than 2016-04-12 09:54:37.134064629 -0400 ++++ go/src/syscall/ztypes_linux_ppc64le.go 2016-04-12 09:58:11.097550772 -0400 +@@ -105,7 +105,7 @@ type Stat_t struct { + Mode uint32 + Uid uint32 + Gid uint32 +- X__pad2 int32 ++ _ int32 + Rdev uint64 + Size int64 + Blksize int64 +@@ -113,9 +113,9 @@ type Stat_t struct { + Atim Timespec + Mtim Timespec + Ctim Timespec +- X__glibc_reserved4 uint64 +- X__glibc_reserved5 uint64 +- X__glibc_reserved6 uint64 ++ _ uint64 ++ _ uint64 ++ _ uint64 + } + + type Statfs_t struct { +@@ -143,7 +143,7 @@ type Dirent struct { + } + + type Fsid struct { +- X__val [2]int32 ++ _ [2]int32 + } + + type Flock_t struct { +@@ -247,7 +247,6 @@ type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +- X__cmsg_data [0]uint8 + } + + type Inet4Pktinfo struct { +@@ -361,7 +360,7 @@ const ( + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 +- IFLA_MAX = 0x22 ++ IFLA_MAX = 0x23 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd +@@ -454,7 +453,7 @@ type RtAttr struct { + + type IfInfomsg struct { + Family uint8 +- X__ifi_pad uint8 ++ _ uint8 + Type uint16 + Index int32 + Flags uint32 +@@ -511,7 +510,6 @@ type InotifyEvent struct { + Mask uint32 + Cookie uint32 + Len uint32 +- Name [0]uint8 + } + + const SizeofInotifyEvent = 0x10 +@@ -532,6 +530,15 @@ type PtraceRegs struct { + Result uint64 + } + ++type ptracePsw struct { ++} ++ ++type ptraceFpregs struct { ++} ++ ++type ptracePer struct { ++} ++ + type FdSet struct { + Bits [16]int64 + } +@@ -551,7 +558,7 @@ type Sysinfo_t struct { + Totalhigh uint64 + Freehigh uint64 + Unit uint32 +- X_f [0]uint8 ++ _ [0]uint8 + Pad_cgo_1 [4]byte + } + +@@ -575,6 +582,7 @@ type Ustat_t struct { + + type EpollEvent struct { + Events uint32 ++ _ int32 + Fd int32 + Pad int32 + } diff --git a/golang-prelink.conf b/golang-prelink.conf deleted file mode 100644 index 471e8e6..0000000 --- a/golang-prelink.conf +++ /dev/null @@ -1,3 +0,0 @@ -# there are ELF files in src which are testdata and shouldn't be modified --b /usr/lib/golang/src --b /usr/lib64/golang/src diff --git a/golang.spec b/golang.spec index 99b955a..c45e69d 100644 --- a/golang.spec +++ b/golang.spec @@ -82,10 +82,10 @@ %endif %global go_api 1.6 -%global go_version 1.6 +%global go_version 1.6.1 Name: golang -Version: 1.6 +Version: 1.6.1 Release: 1%{?dist} Summary: The Go Programming Language # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain @@ -121,6 +121,10 @@ Patch1: golang-1.2-remove-ECC-p224.patch # https://github.com/golang/go/issues/14384 Patch100: mmap-cgo-stackalign.patch +# Resolves RHBZ 1326366 +# https://github.com/golang/go/issues/15135 +Patch101: golang-1.6-epoll-power64.patch + # use the arch dependent path in the bootstrap Patch212: golang-1.5-bootstrap-binary-path.patch @@ -146,7 +150,6 @@ Obsoletes: emacs-%{name} < 1.4 ExclusiveArch: %{golang_arches} Source100: golang-gdbinit -Source101: golang-prelink.conf %description %{summary}. @@ -248,6 +251,7 @@ Summary: Golang shared object libraries %patch1 -p1 %patch100 -p1 +%patch101 -p1 -b .epoll # use the arch dependent path in the bootstrap %patch212 -p1 @@ -377,11 +381,6 @@ ln -sf /etc/alternatives/gofmt $RPM_BUILD_ROOT%{_bindir}/gofmt mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d cp -av %{SOURCE100} $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d/golang.gdb -# prelink blacklist -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d -cp -av %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d/golang.conf - - %check export GOROOT=$(pwd -P) export PATH="$GOROOT"/bin:"$PATH" @@ -449,9 +448,6 @@ fi # gdbinit (for gdb debugging) %{_sysconfdir}/gdbinit.d -# prelink blacklist -%{_sysconfdir}/prelink.conf.d - %files -f go-src.list src %files -f go-docs.list docs @@ -469,6 +465,12 @@ fi %endif %changelog +* Wed Apr 13 2016 Jakub Čajka - 1.6.1-1 +- rebase to 1.6.1 +- Resolves: bz1324344 - CVE-2016-3959 +- Resolves: bz1324951 - prelink is gone, /etc/prelink.conf.d/* is no longer used +- Resolves: bz1326366 - wrong epoll_event struct for ppc64le/ppc64 + * Mon Feb 22 2016 Jakub Čajka - 1.6-1 - Resolves: bz1304701 - rebase to go1.6 release - Resolves: bz1304591 - fix possible stack miss-alignment in callCgoMmap diff --git a/sources b/sources index b55b080..a8c62a7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e67833ea37fbc002fbe38efe6c1bcd98 go1.6.src.tar.gz +29e1b0369825a56d79f6bd4eb29b0864 go1.6.1.src.tar.gz