1. 30 10月, 2006 3 次提交
    • O
      [PATCH] taskstats: fix sk_buff size calculation · 3d8334de
      Oleg Nesterov 提交于
      prepare_reply() adds GENL_HDRLEN to the payload (genlmsg_total_size()),
      but then it does genlmsg_put()->nlmsg_put().  This means we forget to
      reserve a room for 'struct nlmsghdr'.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Thomas Graf <tgraf@suug.ch>
      Cc: Andrew Morton <akpm@osdl.org>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Jay Lan <jlan@sgi.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3d8334de
    • O
      [PATCH] taskstats: fix sk_buff leak · d46a3d0d
      Oleg Nesterov 提交于
      'return genlmsg_cancel()' in taskstats_user_cmd/taskstats_exit_send
      potentially leaks a skb.  Unless we pass 'rep_skb' to the netlink layer
      we own sk_buff.  This means we should always do kfree_skb() on failure.
      
      [ Thomas acked and pointed out missing return value in original version ]
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Acked-by: NThomas Graf <tgraf@suug.ch>
      Cc: Andrew Morton <akpm@osdl.org>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Jay Lan <jlan@sgi.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d46a3d0d
    • G
      [PATCH] Fix GFP_HIGHMEM slab panic · 5211e6e6
      Giridhar Pemmasani 提交于
      As reported by Martin J. Bligh <mbligh@google.com>, we let through some
      non-slab bits to slab allocation through __get_vm_area_node when doing a
      vmalloc.
      
      I haven't been able to reproduce this, although I understand why it
      happens: vmalloc allocates memory with
      
      GFP_KERNEL | __GFP_HIGHMEM
      
      and commit 52fd24ca resulted in the same
      flags are passed down to cache_alloc_refill, causing the BUG.  The
      following patch fixes it.
      
      Note that when calling kmalloc_node, I am masking off __GFP_HIGHMEM with
      GFP_LEVEL_MASK, whereas __vmalloc_area_node does the same with
      
      ~(__GFP_HIGHMEM | __GFP_ZERO).
      
      IMHO, using GFP_LEVEL_MASK is preferable, but either should fix this
      problem.
      
      Signed-off-by: Giridhar Pemmasani (pgiri@yahoo.com)
      Cc: Martin J. Bligh <mbligh@google.com>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5211e6e6
  2. 29 10月, 2006 37 次提交