08 May, 2013

1 commit

  • Use preferable function name which implies using a pseudo-random number
    generator.

    [akpm@linux-foundation.org: convert team_mode_random.c]
    Signed-off-by: Akinobu Mita
    Acked-by: Thomas Sailer
    Acked-by: Bing Zhao [mwifiex]
    Cc: "David S. Miller"
    Cc: Michael Chan
    Cc: Thomas Sailer
    Cc: Jean-Paul Roubelat
    Cc: Bing Zhao
    Cc: Brett Rudley
    Cc: Arend van Spriel
    Cc: "Franky (Zhenhui) Lin"
    Cc: Hante Meuleman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

28 Mar, 2013

1 commit

  • yam_open has a redundant null check on null, it will
    never be called with dev == NULL. Remove this redundant check.
    This also cleans up a smatch warning:

    drivers/net/hamradio/yam.c:869 yam_open() warn: variable
    dereferenced before check 'dev' (see line 867)

    Signed-off-by: Colin Ian King
    Reviewed-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Colin Ian King
     

19 Feb, 2013

2 commits

  • proc_net_remove is only used to remove proc entries
    that under /proc/net,it's not a general function for
    removing proc entries of netns. if we want to remove
    some proc entries which under /proc/net/stat/, we still
    need to call remove_proc_entry.

    this patch use remove_proc_entry to replace proc_net_remove.
    we can remove proc_net_remove after this patch.

    Signed-off-by: Gao feng
    Signed-off-by: David S. Miller

    Gao feng
     
  • Right now, some modules such as bonding use proc_create
    to create proc entries under /proc/net/, and other modules
    such as ipv4 use proc_net_fops_create.

    It looks a little chaos.this patch changes all of
    proc_net_fops_create to proc_create. we can remove
    proc_net_fops_create after this patch.

    Signed-off-by: Gao feng
    Signed-off-by: David S. Miller

    Gao feng
     

06 Oct, 2012

1 commit


29 Mar, 2012

1 commit


01 Feb, 2012

1 commit


31 Mar, 2011

1 commit


10 Jan, 2011

1 commit


28 May, 2010

1 commit

  • At the point of the print, dev is NULL.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E,E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if ((E == NULL && ...) || ...)
    {
    ... when != if (...) S1 else S2
    when != E = E1
    * E->f
    ... when any
    return ...;
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     

01 Sep, 2009

1 commit


06 Jul, 2009

1 commit


30 Mar, 2009

1 commit


18 Feb, 2009

2 commits

  • Impact: Rename inner scrope variable.

    Fix this sparse warning:
    drivers/net/hamradio/yam.c:856:35: warning: symbol 'dev' shadows an earlier one

    Signed-off-by: Hannes Eder
    Signed-off-by: David S. Miller

    Hannes Eder
     
  • Impact: Use 'static const char[]' instead of 'static char[]' and while
    being at it fix an issue in 'mkiss_init_driver', where in case of an
    error the status code was not passed to printk.

    Fix this warnings:
    drivers/net/hamradio/6pack.c: In function 'sixpack_init_driver':
    drivers/net/hamradio/6pack.c:802: warning: format not a string literal and no format arguments
    drivers/net/hamradio/bpqether.c: In function 'bpq_init_driver':
    drivers/net/hamradio/bpqether.c:609: warning: format not a string literal and no format arguments
    drivers/net/hamradio/mkiss.c: In function 'mkiss_init_driver':
    drivers/net/hamradio/mkiss.c:988: warning: format not a string literal and no format arguments
    drivers/net/hamradio/mkiss.c:991: warning: format not a string literal and no format arguments
    drivers/net/hamradio/scc.c: In function 'scc_init_driver':
    drivers/net/hamradio/scc.c:2109: warning: format not a string literal and no format arguments
    drivers/net/hamradio/yam.c: In function 'yam_init_driver':
    drivers/net/hamradio/yam.c:1094: warning: format not a string literal and no format arguments

    Signed-off-by: Hannes Eder
    Signed-off-by: David S. Miller

    Hannes Eder
     

22 Jan, 2009

3 commits


04 Nov, 2008

1 commit


11 Oct, 2007

2 commits

  • Since hardware header operations are part of the protocol class
    not the device instance, make them into a separate object and
    save memory.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • This patch makes /proc/net per network namespace. It modifies the global
    variables proc_net and proc_net_stat to be per network namespace.
    The proc_net file helpers are modified to take a network namespace argument,
    and all of their callers are fixed to pass &init_net for that argument.
    This ensures that all of the /proc/net files are only visible and
    usable in the initial network namespace until the code behind them
    has been updated to be handle multiple network namespaces.

    Making /proc/net per namespace is necessary as at least some files
    in /proc/net depend upon the set of network devices which is per
    network namespace, and even more files in /proc/net have contents
    that are relevant to a single network namespace.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

26 Apr, 2007

2 commits


21 Feb, 2007

1 commit


13 Feb, 2007

1 commit

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

09 Dec, 2006

1 commit

  • Only the callsign but not the SSID part of an AX.25 address is ASCII
    based but Linux by initializes the SSID which should be just a 4-bit
    number from ASCII anyway.

    Fix that and convert the code to use a shared constant for both default
    addresses. While at it, use the same style for null_ax25_address also.

    Signed-off-by: Ralf Baechle
    Signed-off-by: David S. Miller

    Ralf Baechle
     

05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

03 Jul, 2006

1 commit


01 Jul, 2006

1 commit


04 May, 2006

1 commit


13 Sep, 2005

2 commits


10 Sep, 2005

1 commit


25 Apr, 2005

1 commit


17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds