Commit 90bf353b authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull misc kbuild updates from Michal Marek:
 - Fix for make O=... perf-tar*
 - make tags revamp and fix for the fallout.  Patch for warnings about
   line breaks inside DEFINE_PER_CPU macros is pending
 - New coccinelle test

* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  coccinelle: tests: unsigned value cannot be lesser than zero
  tags: Unify emacs and exuberant rules
  tags: Drop the _PE rule
  tags: Do not try to index defconfigs
  tags: Process Kconfig files in a single pass
  tags: Fix erroneous pattern match in a comment
  aic7xxx: Avoid name collision with <linux/list.h>
  tags: Treat header files as C code
  package Makefile: fix perf-tar targets when outdir is set
  scripts/tags.sh: Teach tags about more powerpc macros
parents af75d517 3f984cb3
...@@ -624,7 +624,7 @@ struct scb { ...@@ -624,7 +624,7 @@ struct scb {
}; };
TAILQ_HEAD(scb_tailq, scb); TAILQ_HEAD(scb_tailq, scb);
LIST_HEAD(scb_list, scb); BSD_LIST_HEAD(scb_list, scb);
struct scb_data { struct scb_data {
/* /*
...@@ -1069,7 +1069,7 @@ struct ahd_softc { ...@@ -1069,7 +1069,7 @@ struct ahd_softc {
/* /*
* SCBs that have been sent to the controller * SCBs that have been sent to the controller
*/ */
LIST_HEAD(, scb) pending_scbs; BSD_LIST_HEAD(, scb) pending_scbs;
/* /*
* Current register window mode information. * Current register window mode information.
......
...@@ -65,11 +65,6 @@ ...@@ -65,11 +65,6 @@
/* Core SCSI definitions */ /* Core SCSI definitions */
#define AIC_LIB_PREFIX ahd #define AIC_LIB_PREFIX ahd
/* Name space conflict with BSD queue macros */
#ifdef LIST_HEAD
#undef LIST_HEAD
#endif
#include "cam.h" #include "cam.h"
#include "queue.h" #include "queue.h"
#include "scsi_message.h" #include "scsi_message.h"
......
...@@ -916,7 +916,7 @@ struct ahc_softc { ...@@ -916,7 +916,7 @@ struct ahc_softc {
/* /*
* SCBs that have been sent to the controller * SCBs that have been sent to the controller
*/ */
LIST_HEAD(, scb) pending_scbs; BSD_LIST_HEAD(, scb) pending_scbs;
/* /*
* Counting lock for deferring the release of additional * Counting lock for deferring the release of additional
......
...@@ -82,11 +82,6 @@ ...@@ -82,11 +82,6 @@
/* Core SCSI definitions */ /* Core SCSI definitions */
#define AIC_LIB_PREFIX ahc #define AIC_LIB_PREFIX ahc
/* Name space conflict with BSD queue macros */
#ifdef LIST_HEAD
#undef LIST_HEAD
#endif
#include "cam.h" #include "cam.h"
#include "queue.h" #include "queue.h"
#include "scsi_message.h" #include "scsi_message.h"
......
...@@ -246,7 +246,7 @@ struct { \ ...@@ -246,7 +246,7 @@ struct { \
/* /*
* List declarations. * List declarations.
*/ */
#define LIST_HEAD(name, type) \ #define BSD_LIST_HEAD(name, type) \
struct name { \ struct name { \
struct type *lh_first; /* first element */ \ struct type *lh_first; /* first element */ \
} }
......
/// Unsigned expressions cannot be lesser than zero. Presence of
/// comparisons 'unsigned (<|<=|>|>=) 0' often indicates a bug,
/// usually wrong type of variable.
///
/// To reduce number of false positives following tests have been added:
/// - parts of range checks are skipped, eg. "if (u < 0 || u > 15) ...",
/// developers prefer to keep such code,
/// - comparisons "<= 0" and "> 0" are performed only on results of
/// signed functions/macros,
/// - hardcoded list of signed functions/macros with always non-negative
/// result is used to avoid false positives difficult to detect by other ways
///
// Confidence: Average
// Copyright: (C) 2015 Andrzej Hajda, Samsung Electronics Co., Ltd. GPLv2.
// URL: http://coccinelle.lip6.fr/
// Options: --all-includes
virtual context
virtual org
virtual report
@r_cmp@
position p;
typedef bool, u8, u16, u32, u64;
{unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long,
size_t, bool, u8, u16, u32, u64} v;
expression e;
@@
\( v = e \| &v \)
...
(\( v@p < 0 \| v@p <= 0 \| v@p >= 0 \| v@p > 0 \))
@r@
position r_cmp.p;
typedef s8, s16, s32, s64;
{char, short, int, long, long long, ssize_t, s8, s16, s32, s64} vs;
expression c, e, v;
identifier f !~ "^(ata_id_queue_depth|btrfs_copy_from_user|dma_map_sg|dma_map_sg_attrs|fls|fls64|gameport_time|get_write_extents|nla_len|ntoh24|of_flat_dt_match|of_get_child_count|uart_circ_chars_pending|[A-Z0-9_]+)$";
@@
(
v = f(...)@vs;
... when != v = e;
* (\( v@p <=@e 0 \| v@p >@e 0 \))
... when any
|
(
(\( v@p < 0 \| v@p <= 0 \)) || ... || (\( v >= c \| v > c \))
|
(\( v >= c \| v > c \)) || ... || (\( v@p < 0 \| v@p <= 0 \))
|
(\( v@p >= 0 \| v@p > 0 \)) && ... && (\( v < c \| v <= c \))
|
((\( v < c \| v <= c \) && ... && \( v@p >= 0 \| v@p > 0 \)))
|
* (\( v@p <@e 0 \| v@p >=@e 0 \))
)
)
@script:python depends on org@
p << r_cmp.p;
e << r.e;
@@
msg = "WARNING: Unsigned expression compared with zero: %s" % (e)
coccilib.org.print_todo(p[0], msg)
@script:python depends on report@
p << r_cmp.p;
e << r.e;
@@
msg = "WARNING: Unsigned expression compared with zero: %s" % (e)
coccilib.report.print_report(p[0], msg)
...@@ -118,12 +118,12 @@ quiet_cmd_perf_tar = TAR ...@@ -118,12 +118,12 @@ quiet_cmd_perf_tar = TAR
cmd_perf_tar = \ cmd_perf_tar = \
git --git-dir=$(srctree)/.git archive --prefix=$(perf-tar)/ \ git --git-dir=$(srctree)/.git archive --prefix=$(perf-tar)/ \
HEAD^{tree} $$(cd $(srctree); \ HEAD^{tree} $$(cd $(srctree); \
echo $$(cat $(srctree)/tools/perf/MANIFEST)) \ echo $$(cat tools/perf/MANIFEST)) \
-o $(perf-tar).tar; \ -o $(perf-tar).tar; \
mkdir -p $(perf-tar); \ mkdir -p $(perf-tar); \
git --git-dir=$(srctree)/.git rev-parse HEAD > $(perf-tar)/HEAD; \ git --git-dir=$(srctree)/.git rev-parse HEAD > $(perf-tar)/HEAD; \
(cd $(srctree)/tools/perf; \ (cd $(srctree)/tools/perf; \
util/PERF-VERSION-GEN ../../$(perf-tar)/ 2>/dev/null); \ util/PERF-VERSION-GEN $(CURDIR)/$(perf-tar)/); \
tar rf $(perf-tar).tar $(perf-tar)/HEAD $(perf-tar)/PERF-VERSION-FILE; \ tar rf $(perf-tar).tar $(perf-tar)/HEAD $(perf-tar)/PERF-VERSION-FILE; \
rm -r $(perf-tar); \ rm -r $(perf-tar); \
$(if $(findstring tar-src,$@),, \ $(if $(findstring tar-src,$@),, \
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment