20 Aug, 2020

1 commit

  • The header file algapi.h includes skbuff.h unnecessarily since
    all we need is a forward declaration for struct sk_buff. This
    patch removes that inclusion.

    Unfortunately skbuff.h pulls in a lot of things and drivers over
    the years have come to rely on it so this patch adds a lot of
    missing inclusions that result from this.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

26 Jun, 2020

1 commit


22 Feb, 2020

1 commit

  • The current codebase makes use of the zero-length array language
    extension to the C90 standard, but the preferred mechanism to declare
    variable-length types such as these ones is a flexible array member[1][2],
    introduced in C99:

    struct foo {
    int stuff;
    struct boo array[];
    };

    By making use of the mechanism above, we will get a compiler warning
    in case the flexible array does not occur last in the structure, which
    will help us prevent some kind of undefined behavior bugs from being
    inadvertently introduced[3] to the codebase from now on.

    Also, notice that, dynamic memory allocations won't be affected by
    this change:

    "Flexible array members have incomplete type, and so the sizeof operator
    may not be applied. As a quirk of the original implementation of
    zero-length arrays, sizeof evaluates to zero."[1]

    This issue was found with the help of Coccinelle.

    [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
    [2] https://github.com/KSPP/linux/issues/21
    [3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour")

    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Herbert Xu

    Gustavo A. R. Silva
     

27 Dec, 2019

1 commit


09 Aug, 2019

2 commits

  • Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.

    Reported-by: Hulk Robot
    Signed-off-by: YueHaibing
    Signed-off-by: Herbert Xu

    YueHaibing
     
  • We don't need dev_err() messages when platform_get_irq() fails now that
    platform_get_irq() prints an error message itself when something goes
    wrong. Let's remove these prints with a simple semantic patch.

    //
    @@
    expression ret;
    struct platform_device *E;
    @@

    ret =
    (
    platform_get_irq(E, ...)
    |
    platform_get_irq_byname(E, ...)
    );

    if ( \( ret < 0 \| ret

    While we're here, remove braces on if statements that only have one
    statement (manually).

    Cc: Greg Kroah-Hartman
    Cc: Herbert Xu
    Cc: "David S. Miller"
    Cc:
    Signed-off-by: Stephen Boyd
    Signed-off-by: Herbert Xu

    Stephen Boyd
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

03 Aug, 2017

1 commit

  • Remove unnecessary static on local variable hdev. Such variable
    is initialized before being used, on every execution path throughout
    the function. The static has no benefit and, removing it reduces the
    object file size.

    This issue was detected using Coccinelle and the following semantic patch:
    https://github.com/GustavoARSilva/coccinelle/blob/master/static/static_unused.cocci

    In the following log you can see a significant difference in the object
    file size. This log is the output of the size command, before and after
    the code change:

    before:
    text data bss dec hex filename
    14842 6464 128 21434 53ba drivers/crypto/img-hash.o

    after:
    text data bss dec hex filename
    14789 6376 64 21229 52ed drivers/crypto/img-hash.o

    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Herbert Xu

    Gustavo A. R. Silva
     

23 May, 2017

1 commit


23 Jan, 2017

1 commit

  • The fourth argument of dma_map_sg() and dma_unmap_sg() is an item of
    dma_data_direction enum. Function img_hash_xmit_dma() wrongly used
    DMA_MEM_TO_DEV, which is an item of dma_transfer_direction enum.

    Replace DMA_MEM_TO_DEV (which value is 1) with DMA_TO_DEVICE (which
    value is fortunately also 1) when calling dma_map_sg() and
    dma_unmap_sg().

    Signed-off-by: Nicolas Iooss
    Signed-off-by: Herbert Xu

    Nicolas Iooss
     

09 Aug, 2016

7 commits


04 Aug, 2015

1 commit


23 Mar, 2015

2 commits


17 Mar, 2015

1 commit


16 Mar, 2015

1 commit