1. 08 8月, 2013 12 次提交
  2. 06 8月, 2013 2 次提交
    • R
      ACPI: Drop physical_node_id_bitmap from struct acpi_device · 007ccfcf
      Rafael J. Wysocki 提交于
      The physical_node_id_bitmap in struct acpi_device is only used for
      looking up the first currently unused dependent phyiscal node ID
      by acpi_bind_one().  It is not really necessary, however, because
      acpi_bind_one() walks the entire physical_node_list of the given
      device object for sanity checking anyway and if that list is always
      sorted by node_id, it is straightforward to find the first gap
      between the currently used node IDs and use that number as the ID
      of the new list node.
      
      This also removes the artificial limit of the maximum number of
      dependent physical devices per ACPI device object, which now depends
      only on the capacity of unsigend int.  As a result, it fixes a
      regression introduced by commit e2ff3940 (ACPI / memhotplug: Bind
      removable memory blocks to ACPI device nodes) that caused
      acpi_memory_enable_device() to fail when the number of 128 MB blocks
      within one removable memory module was greater than 32.
      Reported-and-tested-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NToshi Kani <toshi.kani@hp.com>
      Reviewed-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      007ccfcf
    • R
      ACPI / PM: Walk physical_node_list under physical_node_lock · 623cf33c
      Rafael J. Wysocki 提交于
      The list of physical devices corresponding to an ACPI device
      object is walked by acpi_system_wakeup_device_seq_show() and
      physical_device_enable_wakeup() without taking that object's
      physical_node_lock mutex.  Since each of those functions may be
      run at any time as a result of a user space action, the lack of
      appropriate locking in them may lead to a kernel crash if that
      happens during device hot-add or hot-remove involving the device
      object in question.
      
      Fix the issue by modifying acpi_system_wakeup_device_seq_show() and
      physical_device_enable_wakeup() to use physical_node_lock as
      appropriate.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: All <stable@vger.kernel.org>
      623cf33c
  3. 05 8月, 2013 6 次提交
  4. 04 8月, 2013 14 次提交
  5. 03 8月, 2013 6 次提交
    • V
      hwmon: (max6697) fix MAX6581 ideality · 5c52add1
      Vivien Didelot 提交于
      Without this patch, the values for ideality (register 0x4b) and ideality
      selection mask (register 0x4c) are inverted.
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Cc: stable@vger.kernel.org # 3.9+
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      5c52add1
    • R
      Merge branch 'security-fixes' into fixes · e35ac62d
      Russell King 提交于
      e35ac62d
    • R
      ARM: fix nommu builds with 48be69a0 (ARM: move signal handlers into a vdso-like page) · 8c0cc8a5
      Russell King 提交于
      Olof reports that noMMU builds error out with:
      
      arch/arm/kernel/signal.c: In function 'setup_return':
      arch/arm/kernel/signal.c:413:25: error: 'mm_context_t' has no member named 'sigpage'
      
      This shows one of the evilnesses of IS_ENABLED().  Get rid of it here
      and replace it with #ifdef's - and as no noMMU platform can make use
      of sigpage, depend on CONIFG_MMU not CONFIG_ARM_MPU.
      Reported-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8c0cc8a5
    • R
      ARM: fix a cockup in 48be69a0 (ARM: move signal handlers into a vdso-like page) · e0d40756
      Russell King 提交于
      Unfortunately, I never committed the fix to a nasty oops which can
      occur as a result of that commit:
      
      ------------[ cut here ]------------
      kernel BUG at /home/olof/work/batch/include/linux/mm.h:414!
      Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      Modules linked in:
      CPU: 0 PID: 490 Comm: killall5 Not tainted 3.11.0-rc3-00288-gabe03080 #53
      task: e90acac0 ti: e9be8000 task.ti: e9be8000
      PC is at special_mapping_fault+0xa4/0xc4
      LR is at __do_fault+0x68/0x48c
      
      This doesn't show up unless you do quite a bit of testing; a simple
      boot test does not do this, so all my nightly tests were passing fine.
      
      The reason for this is that install_special_mapping() expects the
      page array to stick around, and as this was only inserting one page
      which was stored on the kernel stack, that's why this was blowing up.
      Reported-by: NOlof Johansson <olof@lixom.net>
      Tested-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e0d40756
    • P
      netlabel: use domain based selectors when address based selectors are not available · 6a8b7f0c
      Paul Moore 提交于
      NetLabel has the ability to selectively assign network security labels
      to outbound traffic based on either the LSM's "domain" (different for
      each LSM), the network destination, or a combination of both.  Depending
      on the type of traffic, local or forwarded, and the type of traffic
      selector, domain or address based, different hooks are used to label the
      traffic; the goal being minimal overhead.
      
      Unfortunately, there is a bug such that a system using NetLabel domain
      based traffic selectors does not correctly label outbound local traffic
      that is not assigned to a socket.  The issue is that in these cases
      the associated NetLabel hook only looks at the address based selectors
      and not the domain based selectors.  This patch corrects this by
      checking both the domain and address based selectors so that the correct
      labeling is applied, regardless of the configuration type.
      
      In order to acomplish this fix, this patch also simplifies some of the
      NetLabel domainhash structures to use a more common outbound traffic
      mapping type: struct netlbl_dommap_def.  This simplifies some of the code
      in this patch and paves the way for further simplifications in the
      future.
      Signed-off-by: NPaul Moore <pmoore@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6a8b7f0c
    • R
      net: check net.core.somaxconn sysctl values · 5f671d6b
      Roman Gushchin 提交于
      It's possible to assign an invalid value to the net.core.somaxconn
      sysctl variable, because there is no checks at all.
      
      The sk_max_ack_backlog field of the sock structure is defined as
      unsigned short. Therefore, the backlog argument in inet_listen()
      shouldn't exceed USHRT_MAX. The backlog argument in the listen() syscall
      is truncated to the somaxconn value. So, the somaxconn value shouldn't
      exceed 65535 (USHRT_MAX).
      Also, negative values of somaxconn are meaningless.
      
      before:
      $ sysctl -w net.core.somaxconn=256
      net.core.somaxconn = 256
      $ sysctl -w net.core.somaxconn=65536
      net.core.somaxconn = 65536
      $ sysctl -w net.core.somaxconn=-100
      net.core.somaxconn = -100
      
      after:
      $ sysctl -w net.core.somaxconn=256
      net.core.somaxconn = 256
      $ sysctl -w net.core.somaxconn=65536
      error: "Invalid argument" setting key "net.core.somaxconn"
      $ sysctl -w net.core.somaxconn=-100
      error: "Invalid argument" setting key "net.core.somaxconn"
      
      Based on a prior patch from Changli Gao.
      Signed-off-by: NRoman Gushchin <klamm@yandex-team.ru>
      Reported-by: NChangli Gao <xiaosuo@gmail.com>
      Suggested-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f671d6b