1. 10 Nov, 2008 2 commits
    • Eric Sandeen's avatar
      ext[234]: Avoid printk floods in the face of directory corruption (CVE-2008-3528) · d7b1831d
      Eric Sandeen authored
      This is a trivial backport of the following upstream commits:
      
      - bd39597c (ext2)
      - cdbf6dba (ext3)
      - 9d9f1775 (ext4)
      
      This addresses CVE-2008-3528
      
      ext[234]: Avoid printk floods in the face of directory corruption
      
      Note: some people thinks this represents a security bug, since it
      might make the system go away while it is printing a large number of
      console messages, especially if a serial console is involved.  Hence,
      it has been assigned CVE-2008-3528, but it requires that the attacker
      either has physical access to your machine to insert a USB disk with a
      corrupted filesystem image (at which point why not just hit the power
      button), or is otherwise able to convince the system administrator to
      mount an arbitrary filesystem image (at which point why not just
      include a setuid shell or world-writable hard disk device file or some
      such).  Me, I think they're just being silly. --tytso
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: linux-ext4@vger.kernel.org
      Cc: Eugene Teo <eugeneteo@kernel.sg>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d7b1831d
    • David Brownell's avatar
      gpiolib: fix oops in gpio_get_value_cansleep() · fa1b2846
      David Brownell authored
      commit 978ccaa8 upstream
      
      We can get the following oops from gpio_get_value_cansleep() when a GPIO
      controller doesn't provide a get() callback:
      
       Unable to handle kernel paging request for instruction fetch
       Faulting instruction address: 0x00000000
       Oops: Kernel access of bad area, sig: 11 [#1]
       [...]
       NIP [00000000] 0x0
       LR [c0182fb0] gpio_get_value_cansleep+0x40/0x50
       Call Trace:
       [c7b79e80] [c0183f28] gpio_value_show+0x5c/0x94
       [c7b79ea0] [c01a584c] dev_attr_show+0x30/0x7c
       [c7b79eb0] [c00d6b48] fill_read_buffer+0x68/0xe0
       [c7b79ed0] [c00d6c54] sysfs_read_file+0x94/0xbc
       [c7b79ef0] [c008f24c] vfs_read+0xb4/0x16c
       [c7b79f10] [c008f580] sys_read+0x4c/0x90
       [c7b79f40] [c0013a14] ret_from_syscall+0x0/0x38
      
      It's OK to request the value of *any* GPIO; most GPIOs are bidirectional,
      so configuring them as outputs just enables an output driver and doesn't
      disable the input logic.
      
      So the problem is that gpio_get_value_cansleep() isn't making the same
      sanity check that gpio_get_value() does: making sure this GPIO isn't one
      of the atypical "no input logic" cases.
      Reported-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      fa1b2846
  2. 22 Oct, 2008 28 commits
  3. 09 Oct, 2008 10 commits