1. 22 6月, 2006 2 次提交
  2. 18 6月, 2006 1 次提交
    • H
      [NET]: Clean up skb_linearize · 364c6bad
      Herbert Xu 提交于
      The linearisation operation doesn't need to be super-optimised.  So we can
      replace __skb_linearize with __pskb_pull_tail which does the same thing but
      is more general.
      
      Also, most users of skb_linearize end up testing whether the skb is linear
      or not so it helps to make skb_linearize do just that.
      
      Some callers of skb_linearize also use it to copy cloned data, so it's
      useful to have a new function skb_linearize_cow to copy the data if it's
      either non-linear or cloned.
      
      Last but not least, I've removed the gfp argument since nobody uses it
      anymore.  If it's ever needed we can easily add it back.
      
      Misc bugs fixed by this patch:
      
      * via-velocity error handling (also, no SG => no frags)
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      364c6bad
  3. 06 6月, 2006 1 次提交
  4. 20 5月, 2006 1 次提交
    • J
      [SCSI] fix (unlikely) memory leak in DAC960 driver · 07fb75a5
      Jesper Juhl 提交于
      The Coverity checker found a memory leak (bug nr. 1245) in
       drivers/block/DAC960.c::DAC960_V2_ProcessCompletedCommand()
      
      The leak is pretty unlikely since it requires that the first of two
      successive kmalloc() calls fail while the second one succeeds. But it can
      still happen even if it's unlikely.
      
      If the first call that allocates 'PhysicalDeviceInfo' fails but the one
      that allocates 'InquiryUnitSerialNumber' succeeds, then we will leak the
      memory allocated to 'InquiryUnitSerialNumber' when the variable goes out
      of scope.
      
      A simple fix for this is to change the existing code that frees
      'PhysicalDeviceInfo' if that one was allocated but
      'InquiryUnitSerialNumber' was not, into a check for either pointer
      being NULL and if so just free both. This is safe since kfree() can
      deal with being passed a NULL pointer and it avoids the leak.
      
      While I was there I also removed the casts of the kmalloc() return
      value since it's pointless.
      I also updated the driver version since this patch changes the workings of
      the code (however slightly).
      
      This issue could probably be fixed a lot more elegantly, but the code
      is a big mess IMHO and I just took the least intrusive route to a fix
      that I could find instead of starting on a cleanup as well (that can
      come later).
      
      Please consider for inclusion.
      Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      07fb75a5
  5. 09 5月, 2006 1 次提交
    • P
      [PATCH] USB: ub oops in block_uevent · 77ef6c4d
      Pete Zaitcev 提交于
      In kernel 2.6.16, if a mounted storage device is removed, an oops happens
      because ub supplies an interface device (and kobject) to the block layer,
      but neglects to pin it. And apparently, the block layer expects its users
      to pin device structures.
      
      The code in ub was broken this way for years. But the bug was exposed only
      by 2.6.16 when it started to call block_uevent on close, which traverses
      device structures (kobjects actually).
      Signed-off-by: NPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      77ef6c4d
  6. 28 4月, 2006 1 次提交
  7. 18 4月, 2006 1 次提交
  8. 01 4月, 2006 1 次提交
    • O
      [PATCH] Don't pass boot parameters to argv_init[] · 9b41046c
      OGAWA Hirofumi 提交于
      The boot cmdline is parsed in parse_early_param() and
      parse_args(,unknown_bootoption).
      
      And __setup() is used in obsolete_checksetup().
      
      	start_kernel()
      		-> parse_args()
      			-> unknown_bootoption()
      				-> obsolete_checksetup()
      
      If __setup()'s callback (->setup_func()) returns 1 in
      obsolete_checksetup(), obsolete_checksetup() thinks a parameter was
      handled.
      
      If ->setup_func() returns 0, obsolete_checksetup() tries other
      ->setup_func().  If all ->setup_func() that matched a parameter returns 0,
      a parameter is seted to argv_init[].
      
      Then, when runing /sbin/init or init=app, argv_init[] is passed to the app.
      If the app doesn't ignore those arguments, it will warning and exit.
      
      This patch fixes a wrong usage of it, however fixes obvious one only.
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9b41046c
  9. 29 3月, 2006 7 次提交
  10. 27 3月, 2006 7 次提交
  11. 26 3月, 2006 4 次提交
  12. 25 3月, 2006 1 次提交
  13. 24 3月, 2006 12 次提交