1. 08 3月, 2010 1 次提交
  2. 21 1月, 2010 1 次提交
    • H
      driver-core: fix devtmpfs crash on s390 · f776c5ec
      Heiko Carstens 提交于
      On Mon, Jan 18, 2010 at 05:26:20PM +0530, Sachin Sant wrote:
      > Hello Heiko,
      >
      > Today while trying to boot next-20100118 i came across
      > the following Oops :
      >
      > Brought up 4 CPUs
      > Unable to handle kernel pointer dereference at virtual kernel address 0000000000
      > 543000
      > Oops: 0004 #1 SMP
      > Modules linked in:
      > CPU: 0 Not tainted 2.6.33-rc4-autotest-next-20100118-5-default #1
      > Process swapper (pid: 1, task: 00000000fd792038, ksp: 00000000fd797a30)
      > Krnl PSW : 0704200180000000 00000000001eb0b8 (shmem_parse_options+0xc0/0x328)
      >           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
      > Krnl GPRS: 000000000054388a 000000000000003d 0000000000543836 000000000000003d
      >           0000000000000000 0000000000483f28 0000000000536112 00000000fd797d00
      >           00000000fd4ba100 0000000000000100 0000000000483978 0000000000543832
      >           0000000000000000 0000000000465958 00000000001eb0b0 00000000fd797c58
      > Krnl Code: 00000000001eb0aa: c0e5000994f1       brasl   %r14,31da8c
      >           00000000001eb0b0: b9020022           ltgr    %r2,%r2
      >           00000000001eb0b4: a784010b           brc     8,1eb2ca
      >          >00000000001eb0b8: 92002000           mvi     0(%r2),0
      >           00000000001eb0bc: a7080000           lhi     %r0,0
      >           00000000001eb0c0: 41902001           la      %r9,1(%r2)
      >           00000000001eb0c4: b9040016           lgr     %r1,%r6
      >           00000000001eb0c8: b904002b           lgr     %r2,%r11
      > Call Trace:
      > (<00000000fd797c50> 0xfd797c50)
      > <00000000001eb5da> shmem_fill_super+0x13a/0x25c
      > <0000000000228cfa> get_sb_single+0xbe/0xdc
      > <000000000034ffc0> dev_get_sb+0x2c/0x38
      > <000000000066c602> devtmpfs_init+0x46/0xc0
      > <000000000066c53e> driver_init+0x22/0x60
      > <000000000064d40a> kernel_init+0x24e/0x3d0
      > <000000000010a7ea> kernel_thread_starter+0x6/0xc
      > <000000000010a7e4> kernel_thread_starter+0x0/0xc
      >
      > I never tried to boot a kernel with DEVTMPFS enabled on a s390 box.
      > So am wondering if this is supported or not ? If you think this
      > is supported i will send a mail to community on this.
      
      There is nothing arch specific to devtmpfs. This part crashes because the
      kernel tries to modify the data read-only section which is write protected
      on s390.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f776c5ec
  3. 24 12月, 2009 2 次提交
  4. 12 12月, 2009 5 次提交
  5. 20 9月, 2009 1 次提交
  6. 16 9月, 2009 1 次提交
    • K
      Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev · 2b2af54a
      Kay Sievers 提交于
      Devtmpfs lets the kernel create a tmpfs instance called devtmpfs
      very early at kernel initialization, before any driver-core device
      is registered. Every device with a major/minor will provide a
      device node in devtmpfs.
      
      Devtmpfs can be changed and altered by userspace at any time,
      and in any way needed - just like today's udev-mounted tmpfs.
      Unmodified udev versions will run just fine on top of it, and will
      recognize an already existing kernel-created device node and use it.
      The default node permissions are root:root 0600. Proper permissions
      and user/group ownership, meaningful symlinks, all other policy still
      needs to be applied by userspace.
      
      If a node is created by devtmps, devtmpfs will remove the device node
      when the device goes away. If the device node was created by
      userspace, or the devtmpfs created node was replaced by userspace, it
      will no longer be removed by devtmpfs.
      
      If it is requested to auto-mount it, it makes init=/bin/sh work
      without any further userspace support. /dev will be fully populated
      and dynamic, and always reflect the current device state of the kernel.
      With the commonly used dynamic device numbers, it solves the problem
      where static devices nodes may point to the wrong devices.
      
      It is intended to make the initial bootup logic simpler and more robust,
      by de-coupling the creation of the inital environment, to reliably run
      userspace processes, from a complex userspace bootstrap logic to provide
      a working /dev.
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Tested-By: NHarald Hoyer <harald@redhat.com>
      Tested-By: NScott James Remnant <scott@ubuntu.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2b2af54a