1. 01 3月, 2008 18 次提交
    • I
      x86: delay the export removal of init_mm · 757265b8
      Ingo Molnar 提交于
      delay the removal of this symbol export by one more kernel release,
      giving external modules such as VirtualBox a chance to stop using it.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      757265b8
    • I
      x86: fix leak un ioremap_page_range() failure · b16bf712
      Ingo Molnar 提交于
      Jan Beulich noticed it during code review that if a driver's ioremap()
      fails (say due to -ENOMEM) then we might leak the struct vm_area.
      
      Free it properly.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b16bf712
    • R
      x86 vdso: fix build locale dependency · f2dbe03d
      Roland McGrath 提交于
      Priit Laes discovered that the sed command processing nm output was
      sensitive to locale settings.  This was addressed in commit
      03994f01 by using [:alnum:] in place of
      [a-zA-Z0-9].
      
      But that solution too is locale-dependent and may not always match
      the identifiers it needs to.  The better fix is just to run sed et al
      with a fixed locale setting in all builds.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      CC: Priit Laes <plaes@plaes.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f2dbe03d
    • T
      x86: restore vsyscall64 prochandler · d67bbacb
      Thomas Gleixner 提交于
      a recent fix:
      
        commit ce28b986
        Author: Thomas Gleixner <tglx@linutronix.de>
        Date:   Wed Feb 20 23:57:30 2008 +0100
      
          x86: fix vsyscall wreckage
      
      removed the broken /kernel/vsyscall64 handler completely.
      This triggers the following debug check:
      
        sysctl table check failed: /kernel/vsyscall64  No proc_handler
      
      Restore the sane part of the proc handler.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d67bbacb
    • H
      x86: fix pmd_bad and pud_bad to support huge pages · cded932b
      Hans Rosenfeld 提交于
      I recently stumbled upon a problem in the support for huge pages. If a
      program using huge pages does not explicitly unmap them, they remain
      mapped (and therefore, are lost) after the program exits.
      
      I observed that the free huge page count in /proc/meminfo decreased when
      running my program, and it did not increase after the program exited.
      After running the program a few times, no more huge pages could be
      allocated.
      
      The reason for this seems to be that the x86 pmd_bad and pud_bad
      consider pmd/pud entries having the PSE bit set invalid. I think there
      is nothing wrong with this bit being set, it just indicates that the
      lowest level of translation has been reached. This bit has to be (and
      is) checked after the basic validity of the entry has been checked, like
      in this fragment from follow_page() in mm/memory.c:
      
        if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd)))
                goto no_page_table;
      
        if (pmd_huge(*pmd)) {
                BUG_ON(flags & FOLL_GET);
                page = follow_huge_pmd(mm, address, pmd, flags & FOLL_WRITE);
                goto out;
        }
      
      Note that this code currently doesn't work as intended if the pmd refers
      to a huge page, the pmd_huge() check can not be reached if the page is
      huge.
      
      Extending pmd_bad() (and, for future 1GB page support, pud_bad()) to
      allow for the PSE bit being set fixes this. For similar reasons,
      allowing the NX bit being set is necessary, too. I have seen huge pages
      having the NX bit set in their pmd entry, which would cause the same
      problem.
      Signed-Off-By: NHans Rosenfeld <hans.rosenfeld@amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cded932b
    • R
      x86: tls prevent_tail_call · 3d00daf4
      Roland McGrath 提交于
      Fix a kernel bug (vmware boot problem) reported by Tomasz Grobelny,
      which occurs with certain .config variants and gccs.
      
      The x86 TLS cleanup in commit efd1ca52
      made the sys_set_thread_area and sys_get_thread_area functions ripe for
      tail call optimization.  If the compiler chooses to use it for them, it
      can clobber the user trap frame because these are asmlinkage functions.
      Reported-by: NTomasz Grobelny <tomasz@grobelny.oswiecenia.net>
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3d00daf4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-fix-2.6 · c0f4133b
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-fix-2.6:
        [ALSA] intel8x0 - Add quirk for Compaq Deskpro EN
        [ALSA] hda-codec - Adapt eeepc p701 mixer for virtual master control
        [ALSA] sound: ice1712: unused structs
        [ALSA] ASoC: Fix WM9712 mixer_event DAPM widget function type
        [ALSA] ASoC: Fix DAPM widget function types in pxa machine drivers
        [ALSA] hda-codec - Fix mixer names of realtek codecs to adapt mater controls
        [ALSA] intel8x0 - Add quirk for Acer Travelmate 2310
        [ALSA] hda_intel - Add model quirk for Albatron KI690-AM2 motherboard
        [ALSA] oxygen: add owner field
        [ALSA] hda-codec - Add Fujitsu Lifebook E8410 to quirk table
        [ALSA] hda-codec - Fix AD1988 capture elements
        [ALSA] sb8: fix SB 1.0 capture DMA programming
        [ALSA] usb-audio: add workaround for broken E-Mu frequency feedback
        [ALSA] ASoC: Fix TLV320AIC3X PLL divider table for 64 kHz rate
        [ALSA] hda-codec - Fix Master volume on HP dv8000
      c0f4133b
    • L
      Merge branch 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 · 99642e21
      Linus Torvalds 提交于
      * 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
        avr32: Fix OCD refcounting bug
        avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop
        avr32: Use correct config symbol in atstk1004 board code
        avr32: Fix broken pte dump code in do_page_fault()
        AVR32: Define PAGE_SHARED
      99642e21
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 · 84b9a774
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (35 commits)
        Blackfin Serial Driver: Fix bug - Only insert UART rx char in timer task.
        Blackfin Serial Driver: Fix bug - update tx dma buffer tail before wake up processes.
        Blackfin Serial Driver: Fix bug - Increase buffer tail immediately before starting tx dma.
        [Blackfin] serial driver: Add flow control support to bf54x
        [Blackfin] serial driver: Fix bug Poll RTS/CTS status in DMA mode as well
        [Blackfin] serial driver: ADSP-BF52x arch/mach support
        [Blackfin] serial driver: use simpler comment headers and strip out information that is maintained in the scm's log
        [Blackfin] serial driver: rework break flood anomaly handling to be more robust/realistic about what we can actually work around
        [Blackfin] serial driver: fix bug - cache the bits of the LSR on systems where the LSR is read-to-clear
        [Blackfin] serial driver: fix bug - should not wait for the TFI bit, just clear it when tx stop.
        [Blackfin] serial driver: Fix bug serial driver in DMA mode spams history to console on shell restart
        [Blackfin] serial driver: Fix bug Free rx dma buffer in shutdown.
        [Blackfin] serial driver: Clean up UART DMA code.
        Blackfin Serial driver: Fix bug - serial driver in PIO mode cant handle input very quickly
        [Blackfin] arch: kill section mismatch warnings
        [Blackfin] arch: handle the most common L1 shrinkage case (L1 does not exist for a part) so that any parts labeled for L1 instead get placed into external memory sections
        [Blackfin] arch: add bfin_clear_PPIx_STATUS() helper funcs like we have for other parts
        [Blackfin] arch: make sure we have proper description/copyright/license lines
        [Blackfin] arch: Fix CONFIG_PM support for BF561
        [Blackfin] arch: Remove DPMC char driver option
        ...
      84b9a774
    • L
      Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 · 3cf9460a
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
        [XFS] If you mount an XFS filesystem with no mount options at all, then
      3cf9460a
    • U
      let __dec_zone_page_state use __dec_zone_state · 57ce36fe
      Uwe Kleine-König 提交于
      This removes code duplication and makes __dec_zone_page_state look like
      __inc_zone_page_state.
      Signed-off-by: NUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
      Acked-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      57ce36fe
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 83afdf24
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
        arch/sh/drivers/dma/dma-sh.c: Correct use of ! and &
        serial: Move asm-sh/sci.h to linux/serial_sci.h.
        sh: Fix up HAS_SR_RB typo in entry-macros.
        
        maple: fix device detection
        sh: fix rtc_resources setup for sh770x
        sh: heartbeat: ioremap is expected to succeed
        sh: Storage class should be before const qualifier
        maple: remove unused variable
        sh: SH5-103 needs to select CPU_SH5.
        sh: Rename SH-3 CCR3 reg to avoid synclink_cs clash.
      83afdf24
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 219ff3ad
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits)
        [X25]: Use proc_create() to setup ->proc_fops first
        [WANROUTER]: Use proc_create() to setup ->proc_fops first
        [8021Q]: Use proc_create() to setup ->proc_fops first
        [IPV4]: Use proc_create() to setup ->proc_fops first
        [IPV6]: Use proc_create() to setup ->proc_fops first
        [SCTP]: Use proc_create() to setup ->proc_fops first
        [PKTGEN]: Use proc_create() to setup ->proc_fops first
        [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first
        [LLC]: Use proc_create() to setup ->proc_fops first
        [IPX]: Use proc_create() to setup ->proc_fops first
        [SUNRPC]: Use proc_create() to setup ->proc_fops first
        [ATM]: Use proc_create() to setup ->proc_fops first
        [SCTP]: Update AUTH structures to match declarations in draft-16.
        [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option
        [SCTP]: Clean up naming conventions of sctp protocol/address family registration
        [APPLETALK]: Use proc_create() to setup ->proc_fops first
        [BNX2X]: add bnx2x to MAINTAINERS
        [BNX2X]: update version, remove CVS strings
        [BNX2X]: Fix Xmit bugs
        [BNX2X]: Prevent PCI queue overflow
        ...
      219ff3ad
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 547598d3
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: Adjust kernel PC validation test in fault handler.
        [SPARC64]: Loosen checks in exception table handling.
        [SPARC64]: Fix section mismatch from kernel_map_range
        [SPARC64]: Fix section mismatchs from dr_cpu_data
        [SPARC]: Fix build in arch/sparc/kernel/led.c
      547598d3
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 5ad58728
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        MAINTAINERS: neteffect update
        RDMA/nes: Fix interrupt moderation low threshold
        RDMA/nes: Fix CRC endianness for RDMA connection establishment on big-endian
        RDMA/nes: Fix use-after-free in mini_cm_dec_refcnt_listen()
        RDMA/nes: Fix use-after-free in nes_create_cq()
        RDMA/nes: Fix a check-after-use in nes_probe()
        RDMA/nes: Fix a memory leak in schedule_nes_timer()
        RDMA/nes: Fix off-by-one
        RDMA/nes: Resurrect error path dead code
        RDMA/cxgb3: Fix shift calc in build_phys_page_list() for 1-entry page lists
      5ad58728
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · f511d7ed
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
        ide: remove stale comments from ide-dma.c (take 2)
        ide: remove ide-tape documentation from Documentation/ide.txt
        qd65xx: remove commented out code
        ide-tape: schedule driver for removal after 6 months
        ide-disk: add missing printk() KERN_* levels
        ide: fix sparse warning about shadowing 'flags' symbol
        ide-cd: fix CD/DVD burning
        ide-cd: fix 'ireason' handling for REQ_TYPE_ATA_PC requests
        qd65xx: fix setup of QD6580 Control register
        ide: skip probing port if "hdx=noprobe" was used for both devices on it
        ide: remove redundant comment from ide_unregister()
        hpt366: fix section mismatch warnings
        ide-cd: Enable audio play quirk for Optiarc DVD RW AD-5200A drive
      f511d7ed
    • D
      Fix hpet_(un)register_irq_handler() for emulation · 32fa4586
      David Howells 提交于
      Fix hpet_(un)register_irq_handler() for when CONFIG_HPET_EMULATE_RTC=n.  They
      are provided macros that substitute value 0, but if they are called as
      functions and the return value isn't checked, the following warnings appear:
      
      	drivers/char/rtc.c: In function `rtc_init':
      	drivers/char/rtc.c:1063: warning: statement with no effect
      	drivers/char/rtc.c: In function `rtc_exit':
      	drivers/char/rtc.c:1157: warning: statement with no effect
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      32fa4586
    • R
      elfcore-compat fix uid/gid types · b5993164
      Roland McGrath 提交于
      I overlooked the difference between __kernel_uid_t and uid_t when defining
      struct compat_elf_prpsinfo.  The result is a regression in 32-bit core
      dumps on x86_64, where the NT_PRPSINFO note has the wrong size and layout.
      This patch fixes it.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b5993164
  2. 29 2月, 2008 22 次提交