<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/usr, branch v3.4.55</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/usr?h=v3.4.55</id>
<link rel='self' href='https://git.amat.us/linux/atom/usr?h=v3.4.55'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-31T17:02:33Z</updated>
<entry>
<title>gen_init_cpio: avoid stack overflow when expanding</title>
<updated>2012-10-31T17:02:33Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2012-10-25T20:38:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=419cbf261a717df51878cadd00488ec2a9d9b3a4'/>
<id>urn:sha1:419cbf261a717df51878cadd00488ec2a9d9b3a4</id>
<content type='text'>
commit 20f1de659b77364d55d4e7fad2ef657e7730323f upstream.

Fix possible overflow of the buffer used for expanding environment
variables when building file list.

In the extremely unlikely case of an attacker having control over the
environment variables visible to gen_init_cpio, control over the
contents of the file gen_init_cpio parses, and gen_init_cpio was built
without compiler hardening, the attacker can gain arbitrary execution
control via a stack buffer overflow.

  $ cat usr/crash.list
  file foo ${BIG}${BIG}${BIG}${BIG}${BIG}${BIG} 0755 0 0
  $ BIG=$(perl -e 'print "A" x 4096;') ./usr/gen_init_cpio usr/crash.list
  *** buffer overflow detected ***: ./usr/gen_init_cpio terminated

This also replaces the space-indenting with tabs.

Patch based on existing fix extracted from grsecurity.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Brad Spengler &lt;spender@grsecurity.net&gt;
Cc: PaX Team &lt;pageexec@freemail.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries</title>
<updated>2011-04-18T12:27:52Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2011-03-31T21:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a8b8017c34fefcb763d8b06c294b58d1c480b2e4'/>
<id>urn:sha1:a8b8017c34fefcb763d8b06c294b58d1c480b2e4</id>
<content type='text'>
gen_init_cpio gets the current time and uses it for each symlink,
special file, and directory.  Grab the current time once and make it
possible to override it with the KBUILD_BUILD_TIMESTAMP variable for
reproducible builds.

Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT</title>
<updated>2011-01-21T01:02:05Z</updated>
<author>
<name>David Rientjes</name>
<email>rientjes@google.com</email>
</author>
<published>2011-01-20T22:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6a108a14fa356ef607be308b68337939e56ea94e'/>
<id>urn:sha1:6a108a14fa356ef607be308b68337939e56ea94e</id>
<content type='text'>
The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
is used to configure any non-standard kernel with a much larger scope than
only small devices.

This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
references to the option throughout the kernel.  A new CONFIG_EMBEDDED
option is added that automatically selects CONFIG_EXPERT when enabled and
can be used in the future to isolate options that should only be
considered for embedded systems (RISC architectures, SLOB, etc).

Calling the option "EXPERT" more accurately represents its intention: only
expert users who understand the impact of the configuration changes they
are making should enable it.

Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: David Woodhouse &lt;david.woodhouse@intel.com&gt;
Signed-off-by: David Rientjes &lt;rientjes@google.com&gt;
Cc: Greg KH &lt;gregkh@suse.de&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Robin Holt &lt;holt@sgi.com&gt;
Cc: &lt;linux-arch@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>decompressors: add boot-time XZ support</title>
<updated>2011-01-13T16:03:25Z</updated>
<author>
<name>Lasse Collin</name>
<email>lasse.collin@tukaani.org</email>
</author>
<published>2011-01-13T01:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3ebe12439ba7fc62e1d6ecb569b7287771716ca1'/>
<id>urn:sha1:3ebe12439ba7fc62e1d6ecb569b7287771716ca1</id>
<content type='text'>
This implements the API defined in &lt;linux/decompress/generic.h&gt; which is
used for kernel, initramfs, and initrd decompression.  This patch together
with the first patch is enough for XZ-compressed initramfs and initrd;
XZ-compressed kernel will need arch-specific changes.

The buffering requirements described in decompress_unxz.c are stricter
than with gzip, so the relevant changes should be done to the
arch-specific code when adding support for XZ-compressed kernel.
Similarly, the heap size in arch-specific pre-boot code may need to be
increased (30 KiB is enough).

The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and
memzero() (memset(ptr, 0, size)), which aren't available in all
arch-specific pre-boot environments.  I'm including simple versions in
decompress_unxz.c, but a cleaner solution would naturally be nicer.

Signed-off-by: Lasse Collin &lt;lasse.collin@tukaani.org&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Alain Knaff &lt;alain@knaff.lu&gt;
Cc: Albin Tonnerre &lt;albin.tonnerre@free-electrons.com&gt;
Cc: Phillip Lougher &lt;phillip@lougher.demon.co.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6</title>
<updated>2011-01-10T16:27:52Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-01-10T16:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0c05384a5a1af2352b8c244cf32f480ba6cbf024'/>
<id>urn:sha1:0c05384a5a1af2352b8c244cf32f480ba6cbf024</id>
<content type='text'>
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
  mkuboot.sh: Fail if mkimage is missing
  gen_init_cpio: checkpatch fixes
  gen_init_cpio: Avoid race between call to stat() and call to open()
  modpost: Fix address calculation in reloc_location()
  Make fixdep error handling more explicit
  checksyscalls: Fix stand-alone usage
  modpost: Put .zdebug* section on white list
  kbuild: fix interaction of CONFIG_IKCONFIG and KCONFIG_CONFIG
  kbuild: export linux/{a.out,kvm,kvm_para}.h on headers_install_all
  kbuild: introduce HDR_ARCH_LIST for headers_install_all
  headers_install: check exit status of unifdef
  gen_init_cpio: remove leading `/' from file names
  scripts/genksyms: fix header usage
  fixdep: use hash table instead of a single array
</content>
</entry>
<entry>
<title>gen_init_cpio: checkpatch fixes</title>
<updated>2011-01-05T22:49:53Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@linux-foundation.org</email>
</author>
<published>2011-01-05T22:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a3c888fcda911fcb6e3c071aecf49ccb6effe79d'/>
<id>urn:sha1:a3c888fcda911fcb6e3c071aecf49ccb6effe79d</id>
<content type='text'>
Cc: Jesper Juhl &lt;jj@chaosbits.net&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>gen_init_cpio: Avoid race between call to stat() and call to open()</title>
<updated>2010-12-29T14:06:54Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2010-12-24T20:28:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=96aebafa63418f447ddc823e40da341cc40553dd'/>
<id>urn:sha1:96aebafa63418f447ddc823e40da341cc40553dd</id>
<content type='text'>
In usr/gen_init_cpio.c::cpio_mkfile() a call to stat() is made based on
pathname, subsequently the file is open()'ed and then the value of the
initial stat() call is used to allocate a buffer. This is not safe since
the file may change between the call to stat() and the call to open().
Safer to just open() the file and then do fstat() using the filedescriptor
returned by open.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.37-rc1' into kbuild/kbuild</title>
<updated>2010-12-14T21:01:55Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2010-12-14T21:01:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8990c1bc4be46473ad19bf2fa612ca57286f3df4'/>
<id>urn:sha1:8990c1bc4be46473ad19bf2fa612ca57286f3df4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gen_init_cpio: remove leading `/' from file names</title>
<updated>2010-12-02T13:28:50Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-10-06T07:13:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=43f901fbc8ba94bfa8d58155ba9378d7a13af636'/>
<id>urn:sha1:43f901fbc8ba94bfa8d58155ba9378d7a13af636</id>
<content type='text'>
When we extracted the generated cpio archive using "cpio -id" command,
it complained,

cpio: Removing leading `/' from member names
var/run
cpio: Removing leading `/' from member names
var/lib
cpio: Removing leading `/' from member names
var/lib/misc

It is worse with the latest "cpio" or "pax", which tries to overwrite
the host file system with the leading '/'.

So the leading '/' of file names should be removed. This is consistent
with the initramfs come with major distributions such as Fedora or
Debian, etc.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Acked-by: Mike Frysinger&lt;vapier@gentoo.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>initramfs: Really fix build break on symbol-prefixed archs</title>
<updated>2010-12-01T12:13:21Z</updated>
<author>
<name>Hendrik Brueckner</name>
<email>brueckner@linux.vnet.ibm.com</email>
</author>
<published>2010-11-29T22:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1198c6d45a1ef5f4f7fdfbf33ef7d270493ec575'/>
<id>urn:sha1:1198c6d45a1ef5f4f7fdfbf33ef7d270493ec575</id>
<content type='text'>
Define the __initramfs_size variable using VMLINUX_SYMBOL() to take care
of symbol-prefixed architectures, for example, blackfin.

Signed-off-by: Hendrik Brueckner &lt;brueckner@linux.vnet.ibm.com&gt;
Cc: Mike Frysinger &lt;vapier.adi@gmail.com&gt;
Cc: Hendrik Brueckner &lt;brueckner@linux.vnet.ibm.com&gt;,
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
[mmarek: leave out Makefile change, since d63f6d1 already takes care of the
 SYMBOL_PREFIX define]
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
</feed>
