1. 09 11月, 2010 22 次提交
    • S
      DRM: ignore invalid EDID extensions · 0ea75e23
      Sam Tygier 提交于
      Currently an invalid EDID extension will cause the whole EDID to be considered invalid. Instead just drop the invalid extensions, and return the valid ones. The base block is modified to claim to have the number valid extensions, and the check sum is updated.
      
      For my EIZO S2242W the base block is fine, but the extension block is all zeros. Without this patch I get no X and no VTs.
      Signed-off-by: NSam Tygier <samtygier@yahoo.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0ea75e23
    • A
      drm/radeon/kms: make the connector code less verbose · c5d46b4e
      Alex Deucher 提交于
      Make more of the connector code debug only to avoid
      spamming the kernel logs with detect and add modes
      messages.
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c5d46b4e
    • T
      drm/ttm: remove failed ttm binding error printout · 7dcebb52
      Thomas Hellstrom 提交于
      The driver (for example vmwgfx) may want to silently deal with the
      error itself.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7dcebb52
    • T
      drm/ttm: Add a barrier when unreserving · 06fba6d4
      Thomas Hellstrom 提交于
      Since we're doing this outside of a spinlock to provide the necessary
      barriers, add an explicit barrier.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      06fba6d4
    • T
      drm/ttm: Remove mm init error printouts and checks · dbc4a5b8
      Thomas Hellstrom 提交于
      Replace with BUG_ON(). These error messages remained from the time
      when TTM was initialized from user-space. Nowadays hitting one of those
      is really a kernel bug.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      dbc4a5b8
    • T
      6e4c55db
    • T
      drm/ttm: Use private locks for the default bo range manager · d7a67cb1
      Thomas Hellstrom 提交于
      Searching for a free block in the range manager may in some situations be a
      lenghty operation, and we want to avoid holding the global lru lock
      during that time. Instead use a per-manager spinlock.
      
      This leaves the global lru lock for quick lru list and swap list manipulation
      only, including list manipulation associated with reserving buffer objects.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      d7a67cb1
    • T
      drm/ttm: Documentation update · 3205bc24
      Thomas Hellstrom 提交于
      Remove an obsolete comment about mm nodes.
      Document the new bo range manager interface.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3205bc24
    • A
      drm/radeon/kms/evergreen: add missing pm.vblank_sync update in vbl handler · f5d8e0eb
      Alex Deucher 提交于
      Should fix dynpm problems on evergreen boards
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f5d8e0eb
    • I
      drm/stub/Kconfig: fix Kconfig for stub driver. · 7c6048b7
      Ingo Molnar 提交于
      * Dave Airlie <airlied@linux.ie> wrote:
      
      > > Lee, Chun-Yi (1):
      > >       gpu: Add Intel GMA500(Poulsbo) Stub Driver
      
      Today's -tip fails to build due to upstream commit e26fd119 ("gpu: Add Intel
      GMA500(Poulsbo) Stub Driver"), committed two days ago and merged yesterday, on
      x86 allmodconfig with BACKLIGHT_CLASS_DEVICE disabled:
      
       drivers/built-in.o: In function `acpi_video_bus_put_one_device':
       video.c:(.text+0x7d26f): undefined reference to `backlight_device_unregister'
       drivers/built-in.o: In function `acpi_video_switch_brightness':
       video.c:(.text+0x7d6f5): undefined reference to `backlight_force_update'
       drivers/built-in.o: In function `acpi_video_device_find_cap':
       video.c:(.text+0x7dfdb): undefined reference to `backlight_device_register'
      
      drivers/gpu/stub/Kconfig selects ACPI_VIDEO, but ACPI_VIDEO is a complex interactive
      Kconfig option with a lot of dependencies:
      
       config ACPI_VIDEO
      	tristate "Video"
      	depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
      	depends on INPUT
      	select THERMAL
      	help
      	  This driver implements the ACPI Extensions For Display Adapters
      
      and if any of its dependencies are not met, we get a build failure. This problem was
      apparently realized in the driver at a certain stage:
      
       config STUB_POULSBO
              tristate "Intel GMA500 Stub Driver"
              depends on PCI
              # Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
              # but for select to work, need to select ACPI_VIDEO's dependencies, ick
              select ACPI_VIDEO if ACPI
      
      but not fully understood and not fully fixed.
      
      As a quick fix select these secondary dependencies, like drivers/gpu/drm/Kconfig
      does:
      
       config DRM_I915
      	tristate "i915 driver"
      	depends on AGP_INTEL
      	select SHMEM
      	select DRM_KMS_HELPER
      	select FB_CFB_FILLRECT
      	select FB_CFB_COPYAREA
      	select FB_CFB_IMAGEBLIT
      	# i915 depends on ACPI_VIDEO when ACPI is enabled
      	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
      	select VIDEO_OUTPUT_CONTROL if ACPI
      	select BACKLIGHT_CLASS_DEVICE if ACPI
      	select INPUT if ACPI
      	select ACPI_VIDEO if ACPI
      	select ACPI_BUTTON if ACPI
      	help
      	  Choose this option if you have a system that has Intel 830M, 845G,
      	  852GM, 855GM 865G or 915G integrated graphics.  If M is selected, the
      
      But it's arguably not particularly nice looking, so maybe this area of code is ripe
      for a Kconfig restructuring/cleanup.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7c6048b7
    • D
      Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel · 91839fd5
      Dave Airlie 提交于
      * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:
        drm/i915: Fix LVDS fixed-mode regression from 219adae1
        drm/i915/ringbuffer: Use the HEAD auto-reporting mechanism
        drm/i915: Avoid might_fault during pwrite whilst holding our mutex
        agp/intel: fix cache control for sandybridge
        agp/intel: restore cache behavior on sandybridge
        drm/i915; Don't apply Ironlake FDI clock workaround to Sandybridge
        drm/i915: Fix KMS regression on Sandybridge/CPT
        i915: reprogram power monitoring registers on resume
        drm/i915: SNB BLT workaround
        drm/i915: Fix the graphics frequency clamping at init and when IPS is active.
        drm/i915: Allow powersave modparam to be adjusted at runtime.
        drm/i915: Apply big hammer to serialise buffer access between rings
        drm/i915: opregion_setup: iounmap correct address
        drm/i915: Flush read-only buffers from the active list upon idle as well
        i915: signedness bug in check_overlay_src()
        drm/i915: Fix typo from "Enable DisplayPort Audio"
      91839fd5
    • C
      drm/i915: Fix LVDS fixed-mode regression from 219adae1 · 3f8ff0e7
      Chris Wilson 提交于
      Commit 219adae1 cached the EDID found during LVDS init, but in the
      process prevented the init routine from discovering the preferred
      fixed-mode for the panel. This was causing us to guess the correct mode,
      which sometimes is wide of the mark.
      Reported-and-tested-by: NJon Masters <jonathan@jonmasters.org>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      3f8ff0e7
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · a7bcf21e
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Add new ext4 inode tracepoints
        ext4: Don't call sb_issue_discard() in ext4_free_blocks()
        ext4: do not try to grab the s_umount semaphore in ext4_quota_off
        ext4: fix potential race when freeing ext4_io_page structures
        ext4: handle writeback of inodes which are being freed
        ext4: initialize the percpu counters before replaying the journal
        ext4: "ret" may be used uninitialized in ext4_lazyinit_thread()
        ext4: fix lazyinit hang after removing request
      a7bcf21e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · 5398a64c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
        TTY: move .gitignore from drivers/char/ to drivers/tty/vt/
        TTY: create drivers/tty/vt and move the vt code there
        TTY: create drivers/tty and move the tty core files there
      5398a64c
    • L
      Merge branch 'staging-linus' of... · 764e028e
      Linus Torvalds 提交于
      Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-next-2.6
      
      * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-next-2.6:
        Staging: ath6kl: remove empty files that mess with 'distclean'
        staging: ath6kl: Fixing the driver to use modified mmc_host structure
        Staging: solo6x10: fix build problem
      764e028e
    • L
      Merge branch 'rmobile-fixes-for-linus' of... · 934648f0
      Linus Torvalds 提交于
      Merge branch 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
      
      * 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
        mmc: sh_mmcif: Convert extern inline to static inline.
        ARM: mach-shmobile: Allow GPIO chips to register IRQ mappings.
        ARM: mach-shmobile: fix sh7372 after a recent clock framework rework
        ARM: mach-shmobile: include drivers/sh/Kconfig
        ARM: mach-shmobile: ap4evb: Add HDMI sound support
        ARM: mach-shmobile: clock-sh7372: Add FSIDIV clock support
        ARM: shmobile: remove sh_timer_config clk member
      934648f0
    • L
      Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 8be5814c
      Linus Torvalds 提交于
      * 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
        sh: clkfwk: Fix up checkpatch warnings.
        sh: make some needlessly global sh7724 clocks static
        sh: add clk_round_parent() to optimize parent clock rate
        sh: Simplify phys_addr_mask()/PTE_PHYS_MASK for 29/32-bit.
        sh: nommu: Support building without an uncached mapping.
        sh: nommu: use 32-bit phys mode.
        sh: mach-se: Fix up SE7206 no ioport build.
        sh: intc: Update for single IRQ reservation helper.
        sh: clkfwk: Fix up rate rounding error handling.
        sh: mach-se: Rip out superfluous 7751 PIO routines.
        sh: mach-se: Rip out superfluous 770x PIO routines.
        sh: mach-edosk7705: Kill off machtype, consolidate board def.
        sh: mach-edosk7705: update for this century, kill off PIO trapping.
        sh: mach-se: Rip out superfluous 7206 PIO routines.
        sh: mach-systemh: Kill off dead board.
        sh: mach-snapgear: Kill off machtype, consolidate board def.
        sh: mach-snapgear: Rip out superfluous PIO routines.
        sh: mach-microdev: SuperIO-relative ioport mapping.
      8be5814c
    • T
      ext4: Add new ext4 inode tracepoints · 7ff9c073
      Theodore Ts'o 提交于
      Add ext4_evict_inode, ext4_drop_inode, ext4_mark_inode_dirty, and
      ext4_begin_ordered_truncate()
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      7ff9c073
    • T
      ext4: Don't call sb_issue_discard() in ext4_free_blocks() · b56ff9d3
      Theodore Ts'o 提交于
      Commit 5c521830 (ext4: Support discard requests when running in
      no-journal mode) attempts to add sb_issue_discard() for data blocks
      (in data=writeback mode) and in no-journal mode.  Unfortunately, this
      no longer works, because in commit dd3932ed (block: remove
      BLKDEV_IFL_WAIT), sb_issue_discard() only presents a synchronous
      interface, and there are times when we call ext4_free_blocks() when we
      are are holding a spinlock, or are otherwise in an atomic context.
      
      For now, I've removed the call to sb_issue_discard() to prevent a
      deadlock or (if spinlock debugging is enabled) failures like this:
      
      BUG: scheduling while atomic: rc.sysinit/1376/0x00000002
      Pid: 1376, comm: rc.sysinit Not tainted 2.6.36-ARCH #1
      Call Trace:
      [<ffffffff810397ce>] __schedule_bug+0x5e/0x70
      [<ffffffff81403110>] schedule+0x950/0xa70
      [<ffffffff81060bad>] ? insert_work+0x7d/0x90
      [<ffffffff81060fbd>] ? queue_work_on+0x1d/0x30
      [<ffffffff81061127>] ? queue_work+0x37/0x60
      [<ffffffff8140377d>] schedule_timeout+0x21d/0x360
      [<ffffffff812031c3>] ? generic_make_request+0x2c3/0x540
      [<ffffffff81402680>] wait_for_common+0xc0/0x150
      [<ffffffff81041490>] ? default_wake_function+0x0/0x10
      [<ffffffff812034bc>] ? submit_bio+0x7c/0x100
      [<ffffffff810680a0>] ? wake_bit_function+0x0/0x40
      [<ffffffff814027b8>] wait_for_completion+0x18/0x20
      [<ffffffff8120a969>] blkdev_issue_discard+0x1b9/0x210
      [<ffffffff811ba03e>] ext4_free_blocks+0x68e/0xb60
      [<ffffffff811b1650>] ? __ext4_handle_dirty_metadata+0x110/0x120
      [<ffffffff811b098c>] ext4_ext_truncate+0x8cc/0xa70
      [<ffffffff810d713e>] ? pagevec_lookup+0x1e/0x30
      [<ffffffff81191618>] ext4_truncate+0x178/0x5d0
      [<ffffffff810eacbb>] ? unmap_mapping_range+0xab/0x280
      [<ffffffff810d8976>] vmtruncate+0x56/0x70
      [<ffffffff811925cb>] ext4_setattr+0x14b/0x460
      [<ffffffff811319e4>] notify_change+0x194/0x380
      [<ffffffff81117f80>] do_truncate+0x60/0x90
      [<ffffffff811e08fa>] ? security_inode_permission+0x1a/0x20
      [<ffffffff811eaec1>] ? tomoyo_path_truncate+0x11/0x20
      [<ffffffff81127539>] do_last+0x5d9/0x770
      [<ffffffff811278bd>] do_filp_open+0x1ed/0x680
      [<ffffffff8140644f>] ? page_fault+0x1f/0x30
      [<ffffffff81132bfc>] ? alloc_fd+0xec/0x140
      [<ffffffff81118db1>] do_sys_open+0x61/0x120
      [<ffffffff81118e8b>] sys_open+0x1b/0x20
      [<ffffffff81002e6b>] system_call_fastpath+0x16/0x1b
      
      https://bugzilla.kernel.org/show_bug.cgi?id=22302Reported-by: NMathias Burén <mathias.buren@gmail.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Cc: jiayingz@google.com
      b56ff9d3
    • D
      ext4: do not try to grab the s_umount semaphore in ext4_quota_off · 87009d86
      Dmitry Monakhov 提交于
      It's not needed to sync the filesystem, and it fixes a lock_dep complaint.
      Signed-off-by: NDmitry Monakhov <dmonakhov@gmail.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Reviewed-by: NJan Kara <jack@suse.cz>
      87009d86
    • T
      ext4: fix potential race when freeing ext4_io_page structures · 83668e71
      Theodore Ts'o 提交于
      Use an atomic_t and make sure we don't free the structure while we
      might still be submitting I/O for that page.
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      83668e71
    • T
      ext4: handle writeback of inodes which are being freed · f7ad6d2e
      Theodore Ts'o 提交于
      The following BUG can occur when an inode which is getting freed when
      it still has dirty pages outstanding, and it gets deleted (in this
      because it was the target of a rename).  In ordered mode, we need to
      make sure the data pages are written just in case we crash before the
      rename (or unlink) is committed.  If the inode is being freed then
      when we try to igrab the inode, we end up tripping the BUG_ON at
      fs/ext4/page-io.c:146.
      
      To solve this problem, we need to keep track of the number of io
      callbacks which are pending, and avoid destroying the inode until they
      have all been completed.  That way we don't have to bump the inode
      count to keep the inode from being destroyed; an approach which
      doesn't work because the count could have already been dropped down to
      zero before the inode writeback has started (at which point we're not
      allowed to bump the count back up to 1, since it's already started
      getting freed).
      
      Thanks to Dave Chinner for suggesting this approach, which is also
      used by XFS.
      
        kernel BUG at /scratch_space/linux-2.6/fs/ext4/page-io.c:146!
        Call Trace:
         [<ffffffff811075b1>] ext4_bio_write_page+0x172/0x307
         [<ffffffff811033a7>] mpage_da_submit_io+0x2f9/0x37b
         [<ffffffff811068d7>] mpage_da_map_and_submit+0x2cc/0x2e2
         [<ffffffff811069b3>] mpage_add_bh_to_extent+0xc6/0xd5
         [<ffffffff81106c66>] write_cache_pages_da+0x2a4/0x3ac
         [<ffffffff81107044>] ext4_da_writepages+0x2d6/0x44d
         [<ffffffff81087910>] do_writepages+0x1c/0x25
         [<ffffffff810810a4>] __filemap_fdatawrite_range+0x4b/0x4d
         [<ffffffff810815f5>] filemap_fdatawrite_range+0xe/0x10
         [<ffffffff81122a2e>] jbd2_journal_begin_ordered_truncate+0x7b/0xa2
         [<ffffffff8110615d>] ext4_evict_inode+0x57/0x24c
         [<ffffffff810c14a3>] evict+0x22/0x92
         [<ffffffff810c1a3d>] iput+0x212/0x249
         [<ffffffff810bdf16>] dentry_iput+0xa1/0xb9
         [<ffffffff810bdf6b>] d_kill+0x3d/0x5d
         [<ffffffff810be613>] dput+0x13a/0x147
         [<ffffffff810b990d>] sys_renameat+0x1b5/0x258
         [<ffffffff81145f71>] ? _atomic_dec_and_lock+0x2d/0x4c
         [<ffffffff810b2950>] ? cp_new_stat+0xde/0xea
         [<ffffffff810b29c1>] ? sys_newlstat+0x2d/0x38
         [<ffffffff810b99c6>] sys_rename+0x16/0x18
         [<ffffffff81002a2b>] system_call_fastpath+0x16/0x1b
      Reported-by: NNick Bowler <nbowler@elliptictech.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Tested-by: NNick Bowler <nbowler@elliptictech.com>
      f7ad6d2e
  2. 08 11月, 2010 7 次提交
  3. 07 11月, 2010 1 次提交
  4. 06 11月, 2010 10 次提交
    • V
      floppy: fix another use-after-free · d017bf6b
      Vivek Goyal 提交于
      While scanning the floopy code due to c093ee4f ("floppy: fix
      use-after-free in module load failure path"), I found one more instance
      of trying to access disk->queue pointer after doing put_disk() on
      gendisk.  For some reason , floppy moule still loads/unloads fine.  The
      object is probably still around with right pointer values.
      
       o There seems to be one more instance of trying to cleanup the request
         queue after we have called put_disk() on associated gendisk.
      
       o This fix is more out of code inspection.  Even without this fix for
         some reason I am able to load/unload floppy module without any
         issues.
      
       o Floppy module loads/unloads fine after the fix.
      Signed-off-by: NVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d017bf6b
    • G
      TTY: move .gitignore from drivers/char/ to drivers/tty/vt/ · 1db01135
      Greg Kroah-Hartman 提交于
      The autogenerated files (consolemap_deftbl.c and defkeymap.c) need to
      be ignored by git, so move the .gitignore file that was doing it to the
      properly location now that the files have moved as well.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1db01135
    • L
      ipw2x00: remove the right /proc/net entry · 151f52f0
      Linus Torvalds 提交于
      Commit 27ae60f8 ("ipw2x00: replace "ieee80211" with "libipw" where
      appropriate") changed DRV_NAME to be "libipw", but didn't properly fix
      up the places where it was used to specify the name for the /proc/net/
      directory.
      
      For backwards compatibility reasons, that directory name remained
      "ieee80211", but due to the DRV_NAME change, the error case printouts
      and the cleanup functions now used "libipw" instead.  Which made it all
      fail badly.
      
      For example, on module unload as reported by Randy:
      
        WARNING: at fs/proc/generic.c:816 remove_proc_entry+0x156/0x35e()
        name 'libipw'
      
      because it's trying to unregister a /proc directory that obviously
      doesn't even exist.
      
      Clean it all up to use DRV_PROCNAME for the actual /proc directory name.
      Reported-and-tested-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Pavel Roskin <proski@gnu.org>
      Cc: John W. Linville <linville@tuxdriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      151f52f0
    • L
      Merge branch 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d4285bd6
      Linus Torvalds 提交于
      * 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: BookE: Load the lower half of MSR
        KVM: PPC: BookE: fix sleep with interrupts disabled
        KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit().
        PPC: KVM: Book E doesn't have __end_interrupts.
        KVM: x86: Issue smp_call_function_many with preemption disabled
        KVM: x86: fix information leak to userland
        KVM: PPC: fix information leak to userland
        KVM: MMU: fix rmap_remove on non present sptes
        KVM: Write protect memory after slot swap
      d4285bd6
    • L
      floppy: fix use-after-free in module load failure path · c093ee4f
      Linus Torvalds 提交于
      Commit 48821184 ("floppy: switch to one queue per drive instead of
      sharing a queue") introduced a use-after-free.  We do "put_disk()" on
      the disk device _before_ we then clean up the queue associated with that
      disk.
      
      Move the put_disk() down to avoid dereferencing a free'd data structure.
      
      Cc: Jens Axboe <jaxboe@fusionio.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Reported-and-tested-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c093ee4f
    • D
      watchdog: Fix section mismatch and potential undefined behavior. · 433039e9
      David Daney 提交于
      Commit d9ca07a0 ("watchdog: Avoid kernel crash when disabling
      watchdog") introduces a section mismatch.
      
      Now that we reference no_watchdog from non-__init code it can no longer
      be __initdata.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      433039e9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 4b4a2700
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)
        inet_diag: Make sure we actually run the same bytecode we audited.
        netlink: Make nlmsg_find_attr take a const nlmsghdr*.
        fib: fib_result_assign() should not change fib refcounts
        netfilter: ip6_tables: fix information leak to userspace
        cls_cgroup: Fix crash on module unload
        memory corruption in X.25 facilities parsing
        net dst: fix percpu_counter list corruption and poison overwritten
        rds: Remove kfreed tcp conn from list
        rds: Lost locking in loop connection freeing
        de2104x: fix panic on load
        atl1 : fix panic on load
        netxen: remove unused firmware exports
        caif: Remove noisy printout when disconnecting caif socket
        caif: SPI-driver bugfix - incorrect padding.
        caif: Bugfix for socket priority, bindtodev and dbg channel.
        smsc911x: Set Ethernet EEPROM size to supported device's size
        ipv4: netfilter: ip_tables: fix information leak to userland
        ipv4: netfilter: arp_tables: fix information leak to userland
        cxgb4vf: remove call to stop TX queues at load time.
        cxgb4: remove call to stop TX queues at load time.
        ...
      4b4a2700
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · f69fa764
      Linus Torvalds 提交于
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firewire: ohci: fix race when reading count in AR descriptor
        firewire: ohci: avoid reallocation of AR buffers
        firewire: ohci: fix race in AR split packet handling
        firewire: ohci: fix buffer overflow in AR split packet handling
      f69fa764
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 2e5c3672
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer
        cifs: dereferencing first then checking
        cifs: trivial comment fix: tlink_tree is now a rbtree
        [CIFS] Cleanup unused variable build warning
        cifs: convert tlink_tree to a rbtree
        cifs: store pointer to master tlink in superblock (try #2)
        cifs: trivial doc fix: note setlease implemented
        CIFS: Add cifs_set_oplock_level
        FS: cifs, remove unneeded NULL tests
      2e5c3672
    • O
      posix-cpu-timers: workaround to suppress the problems with mt exec · e0a70217
      Oleg Nesterov 提交于
      posix-cpu-timers.c correctly assumes that the dying process does
      posix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD
      timers from signal->cpu_timers list.
      
      But, it also assumes that timer->it.cpu.task is always the group
      leader, and thus the dead ->task means the dead thread group.
      
      This is obviously not true after de_thread() changes the leader.
      After that almost every posix_cpu_timer_ method has problems.
      
      It is not simple to fix this bug correctly. First of all, I think
      that timer->it.cpu should use struct pid instead of task_struct.
      Also, the locking should be reworked completely. In particular,
      tasklist_lock should not be used at all. This all needs a lot of
      nontrivial and hard-to-test changes.
      
      Change __exit_signal() to do posix_cpu_timers_exit_group() when
      the old leader dies during exec. This is not the fix, just the
      temporary hack to hide the problem for 2.6.37 and stable. IOW,
      this is obviously wrong but this is what we currently have anyway:
      cpu timers do not work after mt exec.
      
      In theory this change adds another race. The exiting leader can
      detach the timers which were attached to the new leader. However,
      the window between de_thread() and release_task() is small, we
      can pretend that sys_timer_create() was called before de_thread().
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e0a70217