libunwind: update to 1.2
Addresses CVE-2015-3239: Off-by-one error in the dwarf_to_unw_regnum
function in include/dwarf_i.h in libunwind 1.1 allows local users to
have unspecified impact via invalid dwarf opcodes.
Upstream stable-v1.2 fixed the missing unwind_i.h issue but no new
tarball is released yet
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit 5d48dc1146)
			
			
This commit is contained in:
		 Yousong Zhou
					Yousong Zhou
				
			
				
					committed by
					
						 Jo-Philipp Wich
						Jo-Philipp Wich
					
				
			
			
				
	
			
			
			 Jo-Philipp Wich
						Jo-Philipp Wich
					
				
			
						parent
						
							e5612d6640
						
					
				
				
					commit
					444b64f533
				
			| @@ -1,5 +1,6 @@ | |||||||
| # | # | ||||||
| # Copyright (C) 2008-2013 OpenWrt.org | # Copyright (C) 2008-2013 OpenWrt.org | ||||||
|  | # Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com> | ||||||
| # | # | ||||||
| # This is free software, licensed under the GNU General Public License v2. | # This is free software, licensed under the GNU General Public License v2. | ||||||
| # See /LICENSE for more information. | # See /LICENSE for more information. | ||||||
| @@ -8,12 +9,12 @@ | |||||||
| include $(TOPDIR)/rules.mk | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
| PKG_NAME:=libunwind | PKG_NAME:=libunwind | ||||||
| PKG_VERSION:=1.1 | PKG_VERSION:=1.2 | ||||||
| PKG_RELEASE:=1 | PKG_RELEASE:=1 | ||||||
|  |  | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||||
| PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME) | PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME) | ||||||
| PKG_HASH:=9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a | PKG_HASH:=1de38ffbdc88bd694d10081865871cd2bfbb02ad8ef9e1606aee18d65532b992 | ||||||
| PKG_FIXUP:=autoreconf | PKG_FIXUP:=autoreconf | ||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
|  |  | ||||||
| @@ -36,7 +37,10 @@ define Package/libunwind/description | |||||||
|   Libunwind defines a portable and efficient C programming interface (API) to determine the call-chain of a program. |   Libunwind defines a portable and efficient C programming interface (API) to determine the call-chain of a program. | ||||||
| endef | endef | ||||||
|  |  | ||||||
| CONFIGURE_ARGS += --enable-minidebuginfo=no | CONFIGURE_ARGS += \ | ||||||
|  | 	--disable-documentation \ | ||||||
|  | 	--enable-minidebuginfo=no \ | ||||||
|  |  | ||||||
|  |  | ||||||
| define Package/libunwind/install | define Package/libunwind/install | ||||||
| 	$(INSTALL_DIR) $(1)/usr/lib | 	$(INSTALL_DIR) $(1)/usr/lib | ||||||
|   | |||||||
| @@ -1,22 +1,11 @@ | |||||||
| --- a/Makefile.am | --- a/Makefile.am | ||||||
| +++ b/Makefile.am | +++ b/Makefile.am | ||||||
| @@ -36,7 +36,7 @@ | @@ -42,7 +42,7 @@ endif | ||||||
|   |   | ||||||
|  nodist_include_HEADERS = include/libunwind-common.h |  nodist_include_HEADERS = include/libunwind-common.h | ||||||
|   |   | ||||||
| -SUBDIRS = src tests doc | -SUBDIRS = src tests | ||||||
| +SUBDIRS = src doc | +SUBDIRS = src | ||||||
|   |   | ||||||
|  noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h	\ |  if CONFIG_DOCS | ||||||
|  	include/compiler.h include/libunwind_i.h include/mempool.h	\ |  SUBDIRS += doc | ||||||
| --- a/Makefile.in |  | ||||||
| +++ b/Makefile.in |  | ||||||
| @@ -313,7 +313,7 @@ |  | ||||||
|  	$(am__append_7) $(am__append_8) $(am__append_9) \ |  | ||||||
|  	$(am__append_10) |  | ||||||
|  nodist_include_HEADERS = include/libunwind-common.h |  | ||||||
| -SUBDIRS = src tests doc |  | ||||||
| +SUBDIRS = src doc |  | ||||||
|  noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h	\ |  | ||||||
|  	include/compiler.h include/libunwind_i.h include/mempool.h	\ |  | ||||||
|  	include/remote.h						\ |  | ||||||
|   | |||||||
| @@ -0,0 +1,46 @@ | |||||||
|  | --- /dev/null	2017-05-16 16:52:50.220000000 +0800 | ||||||
|  | +++ b/src/mips/unwind_i.h	2016-06-13 11:43:06.310153501 +0800 | ||||||
|  | @@ -0,0 +1,43 @@ | ||||||
|  | +/* libunwind - a platform-independent unwind library | ||||||
|  | +   Copyright (C) 2008 CodeSourcery | ||||||
|  | + | ||||||
|  | +This file is part of libunwind. | ||||||
|  | + | ||||||
|  | +Permission is hereby granted, free of charge, to any person obtaining | ||||||
|  | +a copy of this software and associated documentation files (the | ||||||
|  | +"Software"), to deal in the Software without restriction, including | ||||||
|  | +without limitation the rights to use, copy, modify, merge, publish, | ||||||
|  | +distribute, sublicense, and/or sell copies of the Software, and to | ||||||
|  | +permit persons to whom the Software is furnished to do so, subject to | ||||||
|  | +the following conditions: | ||||||
|  | + | ||||||
|  | +The above copyright notice and this permission notice shall be | ||||||
|  | +included in all copies or substantial portions of the Software. | ||||||
|  | + | ||||||
|  | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||||
|  | +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||||
|  | +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||||
|  | +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||||
|  | +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||||
|  | +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */ | ||||||
|  | + | ||||||
|  | +#ifndef unwind_i_h | ||||||
|  | +#define unwind_i_h | ||||||
|  | + | ||||||
|  | +#include <stdint.h> | ||||||
|  | + | ||||||
|  | +#include <libunwind-mips.h> | ||||||
|  | + | ||||||
|  | +#include "libunwind_i.h" | ||||||
|  | + | ||||||
|  | +#define mips_lock                       UNW_OBJ(lock) | ||||||
|  | +#define mips_local_resume               UNW_OBJ(local_resume) | ||||||
|  | +#define mips_local_addr_space_init      UNW_OBJ(local_addr_space_init) | ||||||
|  | + | ||||||
|  | +extern int mips_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, | ||||||
|  | +                             void *arg); | ||||||
|  | + | ||||||
|  | +extern void mips_local_addr_space_init (void); | ||||||
|  | + | ||||||
|  | +#endif /* unwind_i_h */ | ||||||
		Reference in New Issue
	
	Block a user