1. 18 Aug, 2009 18 commits
  2. 17 Aug, 2009 15 commits
    • Linus Torvalds's avatar
      df4ecf15
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · c58afec8
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: fix locking in xfs_iget_cache_hit
      c58afec8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 52dec22e
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        security: define round_hint_to_min in !CONFIG_SECURITY
        Security/SELinux: seperate lsm specific mmap_min_addr
        SELinux: call cap_file_mmap in selinux_file_mmap
        Capabilities: move cap_file_mmap to commoncap.c
      52dec22e
    • Eric Paris's avatar
      inotify: start watch descriptor count at 1 · 08e53fcb
      Eric Paris authored
      The inotify_add_watch man page specifies that inotify_add_watch() will
      return a non-negative integer.  However, historically the inotify
      watches started at 1, not at 0.
      
      Turns out that the inotifywait program provided by the inotify-tools
      package doesn't properly handle a 0 watch descriptor.  In 7e790dd5 we
      changed from starting at 1 to starting at 0.  This patch starts at 1,
      just like in previous kernels, but also just like in previous kernels
      it's possible for it to wrap back to 0.  This preserves the kernel
      functionality exactly like it was before the patch (neither method broke
      the spec)
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      08e53fcb
    • Eric Paris's avatar
      inotify: tail drop inotify q_overflow events · cd94c8bb
      Eric Paris authored
      In f44aebcc the tail drop logic of events with no file backing
      (q_overflow and in_ignored) was reversed so IN_IGNORED events would
      never be tail dropped.  This now means that Q_OVERFLOW events are NOT
      tail dropped.  The fix is to not tail drop IN_IGNORED, but to tail drop
      Q_OVERFLOW.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd94c8bb
    • Eric Paris's avatar
      notify: unused event private race · eef3a116
      Eric Paris authored
      inotify decides if private data it passed to get added to an event was
      used by checking list_empty().  But it's possible that the event may
      have been dequeued and the private event removed so it would look empty.
      
      The fix is to use the return code from fsnotify_add_notify_event rather
      than looking at the list.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eef3a116
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 0f66f96d
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm: (37 commits)
        ARM: 5673/1: U300 fix initsection compile warning
        ARM: Fix broken highmem support
        mx31moboard: invert sdhc ro signal sense
        ARM: S3C24XX: Fix clkout mpx error
        ARM: S3C64XX: serial: Fix a typo in Kconfig
        IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes
        OMAP3: RX51: Updated rx51_defconfig
        OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
        OMAP3: RX51: Define TWL4030 USB transceiver in board file
        OMAP3: Overo: Fix smsc911x platform device resource value
        OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
        OMAP2/3: DMA errata correction
        OMAP: Fix testing of cpu defines for mach-omap1
        OMAP3: Overo: add missing pen-down GPIO definition
        OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask
        OMAP3: PM: Fix wrong sequence in suspend.
        OMAP: PM: CPUfreq: obey min/max settings of policy
        OMAP2/3/4: UART: allow in-order port traversal
        OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports
        OMAP3: Fixed crash bug with serial + suspend
        ...
      0f66f96d
    • Atsushi Nemoto's avatar
      MIPS: Fix HPAGE_SIZE redefinition · 87c62a66
      Atsushi Nemoto authored
      This patch fixes warnings like this:
        CC      fs/proc/meminfo.o
      In file included from /work/linux/include/linux/mmzone.h:20,
                       from /work/linux/include/linux/gfp.h:4,
                       from /work/linux/include/linux/mm.h:8,
                       from /work/linux/fs/proc/meminfo.c:5:
      /work/linux/arch/mips/include/asm/page.h:36:1: warning: "HPAGE_SIZE" redefined
      In file included from /work/linux/fs/proc/meminfo.c:2:
      /work/linux/include/linux/hugetlb.h:107:1: warning: this is the location of the previous definition
      Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Acked-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      87c62a66
    • Ingo Molnar's avatar
      x86, mce: Don't initialize MCEs on unknown CPUs · e412cd25
      Ingo Molnar authored
      An older test-box started hanging at the following point during
      bootup:
      
       [    0.022996] Mount-cache hash table entries: 512
       [    0.024996] Initializing cgroup subsys debug
       [    0.025996] Initializing cgroup subsys cpuacct
       [    0.026995] Initializing cgroup subsys devices
       [    0.027995] Initializing cgroup subsys freezer
       [    0.028995] mce: CPU supports 5 MCE banks
      
      I've bisected it down to commit 4efc0670 ("x86, mce: use 64bit
      machine check code on 32bit"), which utilizes the MCE code on
      32-bit systems too.
      
      The problem is caused by this detail in my config:
      
        # CONFIG_CPU_SUP_INTEL is not set
      
      This disables the quirks in mce_cpu_quirks() but still enables
      MCE support - which then hangs due to the missing quirk
      workaround needed on this CPU:
      
      	if (c->x86 == 6 && c->x86_model < 0x1A && banks > 0)
      		mce_banks[0].init = 0;
      
      The safe solution is to not initialize MCEs if we dont know on
      what CPU we are running (or if that CPU's support code got
      disabled in the config).
      
      Also be a bit more defensive on 32-bit systems: dont do a
      boot-time dump of pending MCEs not just on the specific system
      that we found a problem with (Pentium-M), but earlier ones as
      well.
      
      Now this problem is probably not common and disabling CPU
      support is rare - but still being more defensive in something
      we turned on for a wide range of CPUs is prudent.
      
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      LKML-Reference: Message-ID: <4A88E3E4.40506@jp.fujitsu.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e412cd25
    • Bartlomiej Zolnierkiewicz's avatar
      x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs · c7f6fa44
      Bartlomiej Zolnierkiewicz authored
      On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold
      boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog):
      
      MCE 0
      HARDWARE ERROR. This is *NOT* a software problem!
      Please contact your hardware vendor
      CPU 0 BANK 1 MCG status:
      MCi status:
      Error overflow
      Uncorrected error
      Error enabled
      Processor context corrupt
      MCA: Data CACHE Level-1 UNKNOWN Error
      STATUS f200000000000195 MCGSTATUS 0
      
      [ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error)
        and f200000000000115 (... READ Error).
      
        To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified
        the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump
        content of STATUS MSR before it is cleared during initialization. ]
      
      Since the bogus MCE results in a kernel taint (which in turn disables
      lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs
      by default ("mce=bootlog" boot parameter can be be used to get the old
      behavior).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Reviewed-by: default avatarAndi Kleen <andi@firstfloor.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      c7f6fa44
    • Christoph Hellwig's avatar
      xfs: fix locking in xfs_iget_cache_hit · bc990f5c
      Christoph Hellwig authored
      The locking in xfs_iget_cache_hit currently has numerous problems:
      
       - we clear the reclaim tag without i_flags_lock which protects
         modifications to it
       - we call inode_init_always which can sleep with pag_ici_lock
         held (this is oss.sgi.com BZ #819)
       - we acquire and drop i_flags_lock a lot and thus provide no
         consistency between the various flags we set/clear under it
      
      This patch fixes all that with a major revamp of the locking in
      the function.  The new version acquires i_flags_lock early and
      only drops it once we need to call into inode_init_always or before
      calling xfs_ilock.
      
      This patch fixes a bug seen in the wild where we race modifying the
      reclaim tag.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarFelix Blyakher <felixb@sgi.com>
      Reviewed-by: default avatarEric Sandeen <sandeen@sandeen.net>
      Signed-off-by: default avatarFelix Blyakher <felixb@sgi.com>
      bc990f5c
    • Eric Paris's avatar
      security: define round_hint_to_min in !CONFIG_SECURITY · 1d995973
      Eric Paris authored
      Fix the header files to define round_hint_to_min() and to define
      mmap_min_addr_handler() in the !CONFIG_SECURITY case.
      
      Built and tested with !CONFIG_SECURITY
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      1d995973
    • Eric Paris's avatar
      Security/SELinux: seperate lsm specific mmap_min_addr · 788084ab
      Eric Paris authored
      Currently SELinux enforcement of controls on the ability to map low memory
      is determined by the mmap_min_addr tunable.  This patch causes SELinux to
      ignore the tunable and instead use a seperate Kconfig option specific to how
      much space the LSM should protect.
      
      The tunable will now only control the need for CAP_SYS_RAWIO and SELinux
      permissions will always protect the amount of low memory designated by
      CONFIG_LSM_MMAP_MIN_ADDR.
      
      This allows users who need to disable the mmap_min_addr controls (usual reason
      being they run WINE as a non-root user) to do so and still have SELinux
      controls preventing confined domains (like a web server) from being able to
      map some area of low memory.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      788084ab
    • Eric Paris's avatar
      SELinux: call cap_file_mmap in selinux_file_mmap · 8cf948e7
      Eric Paris authored
      Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook.  This
      means there is no DAC check on the ability to mmap low addresses in the
      memory space.  This function adds the DAC check for CAP_SYS_RAWIO while
      maintaining the selinux check on mmap_zero.  This means that processes
      which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will
      NOT need the SELinux sys_rawio capability.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      8cf948e7
    • Eric Paris's avatar
      Capabilities: move cap_file_mmap to commoncap.c · 9c0d9010
      Eric Paris authored
      Currently we duplicate the mmap_min_addr test in cap_file_mmap and in
      security_file_mmap if !CONFIG_SECURITY.  This patch moves cap_file_mmap
      into commoncap.c and then calls that function directly from
      security_file_mmap ifndef CONFIG_SECURITY like all of the other capability
      checks are done.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Acked-by: default avatarSerge Hallyn <serue@us.ibm.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      9c0d9010
  3. 16 Aug, 2009 7 commits
    • Leonardo Potenza's avatar
      x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c · 52459ab9
      Leonardo Potenza authored
      The function uv_acpi_madt_oem_check() has been marked __init,
      the struct apic_x2apic_uv_x has been marked __refdata.
      
      The aim is to address the following section mismatch messages:
      
      WARNING: arch/x86/kernel/apic/built-in.o(.data+0x1368): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
      The variable apic_x2apic_uv_x references
      the function __cpuinit uv_wakeup_secondary()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      WARNING: arch/x86/kernel/built-in.o(.data+0x68e8): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
      The variable apic_x2apic_uv_x references
      the function __cpuinit uv_wakeup_secondary()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      WARNING: arch/x86/built-in.o(.text+0x7b36f): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_ioremap()
      The function uv_acpi_madt_oem_check() references
      the function __init early_ioremap().
      This is often because uv_acpi_madt_oem_check lacks a __init
      annotation or the annotation of early_ioremap is wrong.
      
      WARNING: arch/x86/built-in.o(.text+0x7b38d): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_iounmap()
      The function uv_acpi_madt_oem_check() references
      the function __init early_iounmap().
      This is often because uv_acpi_madt_oem_check lacks a __init
      annotation or the annotation of early_iounmap is wrong.
      
      WARNING: arch/x86/built-in.o(.data+0x8668): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
      The variable apic_x2apic_uv_x references
      the function __cpuinit uv_wakeup_secondary()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: default avatarLeonardo Potenza <lpotenza@inwind.it>
      LKML-Reference: <200908161855.48302.lpotenza@inwind.it>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      52459ab9
    • Randy Dunlap's avatar
      dm-log-userspace: fix printk format warning · 894ef820
      Randy Dunlap authored
      drivers/md/dm-log-userspace-transfer.c:110: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'size_t'
      
      Previously posted and acked, but apparently lost.
      http://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02074.htmlSigned-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: dm-devel@redhat.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      894ef820
    • Hugh Dickins's avatar
      x86, mce: therm_throt: Don't log redundant normality · 4e5c25d4
      Hugh Dickins authored
      0d01f314 "x86, mce: therm_throt
      - change when we print messages" removed redundant
      announcements of "Temperature/speed normal".
      
      They're not worth logging and remove their accompanying
      "Machine check events logged" messages as well from the
      console.
      Signed-off-by: default avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dmitry Torokhov <dtor@mail.ru>
      LKML-Reference: <Pine.LNX.4.64.0908161544100.7929@sister.anvils>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4e5c25d4
    • Xiaotian Feng's avatar
      e1000e: fix use of pci_enable_pcie_error_reporting · 68eac460
      Xiaotian Feng authored
      commit 111b9dc5 ("e1000e: add aer support") introduces pcie aer
      support for e1000e, but it is not reasonable to disable it in
      e1000_remove but enable it in e1000_resume.  This patch enables aer
      support in e1000_probe.
      Signed-off-by: default avatarXiaotian Feng <dfeng@redhat.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68eac460
    • Bruce Allan's avatar
      e1000e: WoL does not work on 82577/82578 with manageability enabled · 82776a4b
      Bruce Allan authored
      With manageability (Intel AMT) enabled via BIOS, PHY wakeup does not get
      configured on newer parts which use PHY wakeup vs. MAC wakeup which causes
      WoL to not work.  The driver should configure PHY wakeup whether or not
      manageability is enabled.
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82776a4b
    • Michael Chan's avatar
      cnic: Fix locking in init/exit calls. · 7fc1ece4
      Michael Chan authored
      The slow path ulp_init and ulp_exit calls to the bnx2i driver
      are sleepable calls and therefore should not be protected using
      rcu_read_lock.  Fix it by using mutex and refcount during these
      calls.  cnic_unregister_driver() will now wait for the refcount
      to go to zero before completing the call.
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Reviewed-by: default avatarBenjamin Li <benli@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7fc1ece4
    • Michael Chan's avatar
      cnic: Fix locking in start/stop calls. · 681dbd71
      Michael Chan authored
      The slow path ulp_start and ulp_stop calls to the bnx2i driver
      are sleepable calls and therefore should not be protected using
      rcu_read_lock.  Fix it by using mutex and setting a bit during
      these calls.  cnic_unregister_device() will now wait for the bit
      to clear before completing the call.
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Reviewed-by: default avatarBenjamin Li <benli@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      681dbd71