1. 23 10月, 2008 1 次提交
  2. 17 10月, 2007 1 次提交
    • J
      uml: network driver MTU cleanups · b53f35a8
      Jeff Dike 提交于
      A bunch of MTU-related cleanups in the network code.
      
      First, there is the addition of the notion of a maximally-sized packet, which
      is the MTU plus headers.  This is used to size the skb that will receive a
      packet.  This allows ether_adjust_skb to go away, as it was used to resize the
      skb after it was allocated.
      
      Since the skb passed into the low-level read routine is no longer resized, and
      possibly reallocated, there, they (and the write routines) don't need to get
      an sk_buff **.  They just need the sk_buff * now.  The callers of
      ether_adjust_skb still need to do the skb_put, so that's now inlined.
      
      The MAX_PACKET definitions in most of the drivers are gone.
      
      The set_mtu methods were all the same and did nothing, so they can be
      removed.
      
      The ethertap driver had a typo which doubled the size of the packet rather
      than adding two bytes to it.  It also wasn't defining its setup_size, causing
      a zero-byte kmalloc and crash when the invalid pointer returned from kmalloc
      was dereferenced.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b53f35a8
  3. 08 5月, 2007 1 次提交
    • J
      uml: network interface hotplug error handling · f34d9d2d
      Jeff Dike 提交于
      This fixes a number of problems associated with network interface hotplug.
      
      The userspace initialization function can fail in some cases, but the
      failure was never passed back to eth_configure, which proceeded with the
      configuration.  This results in a zombie device that is present, but can't
      work.  This is fixed by allowing the initialization routines to return an
      error, which is checked, and the configuration aborted on failure.
      
      eth_configure failed to check for many failures.  Even when it did check,
      it didn't undo whatever initializations has already happened, so a present,
      but partially initialized and non-working device could result.  It now
      checks everything that can fail, and bails out, undoing whatever had been
      done.
      
      The return value of eth_configure was always ignored, so it is now just
      void.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f34d9d2d
  4. 30 9月, 2006 3 次提交
    • J
      [PATCH] uml: don't roll my own random MAC generator · fade5d54
      Jeff Dike 提交于
      Use the existing random_ether_addr() instead of cooking up my own
      version.  Pointed out by Dave Hollis and Jason Lunz.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fade5d54
    • J
      [PATCH] uml: mechanical tidying after random MACs change · b10aeeef
      Jeff Dike 提交于
      Mechanical, hopefully non-functional changes stemming from
      setup_etheraddr always succeeding now that it always assigns a MAC,
      either from the command line or generated randomly:
         the test of the return of setup_etheraddr is removed, and code
      dependent on it succeeding is now unconditional
         setup_etheraddr can now be made void
         struct uml_net.have_mac is now always 1, so tests of it can be
      similarly removed, and uses of it can be replaced with 1
         struct uml_net.have_mac is no longer used, so it can be removed
         struct uml_net_private.have_mac is copied from struct uml_net, so
      it is always 1
         tests of uml_net_private.have_mac can be removed
         uml_net_private.have_mac can now be removed
         the only call to dev_ip_addr was removed, so it can be deleted
      
      It also turns out that setup_etheraddr is called only once, from the same
      file, so it can be static and its declaration removed from net_kern.h.
      
      Similarly, set_ether_mac is defined and called only from one file.
      
      Finally, setup_etheraddr and set_ether_mac were moved to avoid needing forward
      declarations.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b10aeeef
    • J
      [PATCH] uml: assign random MACs to interfaces if necessary · f3e7ed2b
      Jeff Dike 提交于
      Assign a random MAC to an ethernet interface if one was not provided on the
      command line.  This became pressing when distros started bringing interfaces
      up before assigning IPs to them.  The previous pattern of assigning an IP then
      bringing it up allowed the MAC to be generated from the first IP assigned.
      However, once the thing is up, it's probably a bad idea to change the MAC, so
      the MAC stayed initialized to fe:fd:0:0:0:0.
      
      Now, if there is no MAC from the command line, one is generated.  We use the
      microseconds from gettimeofday (20 bits), plus the low 12 bits of the pid to
      seed the random number generator.  random() is called twice, with 16 bits of
      each result used.  I didn't want to have to try to fill in 32 bits optimally
      given an arbitrary RAND_MAX, so I just assume that it is greater than 65536
      and use 16 bits of each random() return.
      
      There is also a bit of reformatting and whitespace cleanup here.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f3e7ed2b
  5. 26 9月, 2006 1 次提交
  6. 07 11月, 2005 1 次提交
  7. 09 6月, 2005 1 次提交
  8. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4