1. 15 3月, 2011 1 次提交
  2. 11 3月, 2011 1 次提交
  3. 09 3月, 2011 3 次提交
  4. 05 3月, 2011 6 次提交
  5. 03 3月, 2011 5 次提交
  6. 02 3月, 2011 4 次提交
  7. 01 3月, 2011 2 次提交
    • R
      ACPI: Fix build for CONFIG_NET unset · af06216a
      Rafael J. Wysocki 提交于
      Several ACPI drivers fail to build if CONFIG_NET is unset, because
      they refer to things depending on CONFIG_THERMAL that in turn depends
      on CONFIG_NET.  However, CONFIG_THERMAL doesn't really need to depend
      on CONFIG_NET, because the only part of it requiring CONFIG_NET is
      the netlink interface in thermal_sys.c.
      
      Put the netlink interface in thermal_sys.c under #ifdef CONFIG_NET
      and remove the dependency of CONFIG_THERMAL on CONFIG_NET from
      drivers/thermal/Kconfig.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Luming Yu <luming.yu@intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      af06216a
    • B
      mm: <asm-generic/pgtable.h> must include <linux/mm_types.h> · fbd71844
      Ben Hutchings 提交于
      Commit e2cda322 ("thp: add pmd mangling generic functions") replaced
      some macros in <asm-generic/pgtable.h> with inline functions.
      
      If the functions are to be defined (not all architectures need them)
      then struct vm_area_struct must be defined first.  So include
      <linux/mm_types.h>.
      
      Fixes a build failure seen in Debian:
      
          CC [M]  drivers/media/dvb/mantis/mantis_pci.o
        In file included from arch/arm/include/asm/pgtable.h:460,
                         from drivers/media/dvb/mantis/mantis_pci.c:25:
        include/asm-generic/pgtable.h: In function 'ptep_test_and_clear_young':
        include/asm-generic/pgtable.h:29: error: dereferencing pointer to incomplete type
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fbd71844
  8. 28 2月, 2011 1 次提交
  9. 26 2月, 2011 1 次提交
  10. 25 2月, 2011 1 次提交
  11. 24 2月, 2011 3 次提交
    • N
      Fix over-zealous flush_disk when changing device size. · 93b270f7
      NeilBrown 提交于
      There are two cases when we call flush_disk.
      In one, the device has disappeared (check_disk_change) so any
      data will hold becomes irrelevant.
      In the oter, the device has changed size (check_disk_size_change)
      so data we hold may be irrelevant.
      
      In both cases it makes sense to discard any 'clean' buffers,
      so they will be read back from the device if needed.
      
      In the former case it makes sense to discard 'dirty' buffers
      as there will never be anywhere safe to write the data.  In the
      second case it *does*not* make sense to discard dirty buffers
      as that will lead to file system corruption when you simply enlarge
      the containing devices.
      
      flush_disk calls __invalidate_devices.
      __invalidate_device calls both invalidate_inodes and invalidate_bdev.
      
      invalidate_inodes *does* discard I_DIRTY inodes and this does lead
      to fs corruption.
      
      invalidate_bev *does*not* discard dirty pages, but I don't really care
      about that at present.
      
      So this patch adds a flag to __invalidate_device (calling it
      __invalidate_device2) to indicate whether dirty buffers should be
      killed, and this is passed to invalidate_inodes which can choose to
      skip dirty inodes.
      
      flusk_disk then passes true from check_disk_change and false from
      check_disk_size_change.
      
      dm avoids tripping over this problem by calling i_size_write directly
      rathher than using check_disk_size_change.
      
      md does use check_disk_size_change and so is affected.
      
      This regression was introduced by commit 608aeef1 which causes
      check_disk_size_change to call flush_disk, so it is suitable for any
      kernel since 2.6.27.
      
      Cc: stable@kernel.org
      Acked-by: NJeff Moyer <jmoyer@redhat.com>
      Cc: Andrew Patterson <andrew.patterson@hp.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Signed-off-by: NNeilBrown <neilb@suse.de>
      93b270f7
    • M
      mm: prevent concurrent unmap_mapping_range() on the same inode · 2aa15890
      Miklos Szeredi 提交于
      Michael Leun reported that running parallel opens on a fuse filesystem
      can trigger a "kernel BUG at mm/truncate.c:475"
      
      Gurudas Pai reported the same bug on NFS.
      
      The reason is, unmap_mapping_range() is not prepared for more than
      one concurrent invocation per inode.  For example:
      
        thread1: going through a big range, stops in the middle of a vma and
           stores the restart address in vm_truncate_count.
      
        thread2: comes in with a small (e.g. single page) unmap request on
           the same vma, somewhere before restart_address, finds that the
           vma was already unmapped up to the restart address and happily
           returns without doing anything.
      
      Another scenario would be two big unmap requests, both having to
      restart the unmapping and each one setting vm_truncate_count to its
      own value.  This could go on forever without any of them being able to
      finish.
      
      Truncate and hole punching already serialize with i_mutex.  Other
      callers of unmap_mapping_range() do not, and it's difficult to get
      i_mutex protection for all callers.  In particular ->d_revalidate(),
      which calls invalidate_inode_pages2_range() in fuse, may be called
      with or without i_mutex.
      
      This patch adds a new mutex to 'struct address_space' to prevent
      running multiple concurrent unmap_mapping_range() on the same mapping.
      
      [ We'll hopefully get rid of all this with the upcoming mm
        preemptibility series by Peter Zijlstra, the "mm: Remove i_mmap_mutex
        lockbreak" patch in particular.  But that is for 2.6.39 ]
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Reported-by: NMichael Leun <lkml20101129@newton.leun.net>
      Reported-by: NGurudas Pai <gurudas.pai@oracle.com>
      Tested-by: NGurudas Pai <gurudas.pai@oracle.com>
      Acked-by: NHugh Dickins <hughd@google.com>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2aa15890
    • E
      net_sched: long word align struct qdisc_skb_cb data · 9e924cf4
      Eric Dumazet 提交于
      netem_skb_cb() does :
      
      return (struct netem_skb_cb *)qdisc_skb_cb(skb)->data;
      
      Unfortunatly struct qdisc_skb_cb data is not long word aligned, so
      access to psched_time_t time_to_send uses a non aligned access.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9e924cf4
  12. 23 2月, 2011 3 次提交
  13. 22 2月, 2011 1 次提交
  14. 20 2月, 2011 2 次提交
  15. 19 2月, 2011 3 次提交
  16. 18 2月, 2011 2 次提交
  17. 17 2月, 2011 1 次提交
    • F
      netfilter: tproxy: do not assign timewait sockets to skb->sk · d503b30b
      Florian Westphal 提交于
      Assigning a socket in timewait state to skb->sk can trigger
      kernel oops, e.g. in nfnetlink_log, which does:
      
      if (skb->sk) {
              read_lock_bh(&skb->sk->sk_callback_lock);
              if (skb->sk->sk_socket && skb->sk->sk_socket->file) ...
      
      in the timewait case, accessing sk->sk_callback_lock and sk->sk_socket
      is invalid.
      
      Either all of these spots will need to add a test for sk->sk_state != TCP_TIME_WAIT,
      or xt_TPROXY must not assign a timewait socket to skb->sk.
      
      This does the latter.
      
      If a TW socket is found, assign the tproxy nfmark, but skip the skb->sk assignment,
      thus mimicking behaviour of a '-m socket .. -j MARK/ACCEPT' re-routing rule.
      
      The 'SYN to TW socket' case is left unchanged -- we try to redirect to the
      listener socket.
      
      Cc: Balazs Scheidler <bazsi@balabit.hu>
      Cc: KOVACS Krisztian <hidden@balabit.hu>
      Signed-off-by: NFlorian Westphal <fwestphal@astaro.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      d503b30b