treewide: Remove uninitialized_var() usage
Using uninitialized_var() is dangerous as it papers over real bugs[1] (or can in the future), and suppresses unrelated compiler warnings (e.g. "unused variable"). If the compiler thinks it is uninitialized, either simply initialize the variable or make compiler changes. In preparation for removing[2] the[3] macro[4], remove all remaining needless uses with the following script: git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \ xargs perl -pi -e \ 's/\buninitialized_var\(([^\)]+)\)/\1/g; s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;' drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid pathological white-space. No outstanding warnings were found building allmodconfig with GCC 9.3.0 for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64, alpha, and m68k. [1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/ [2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/ [3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/ [4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/ Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5 Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
@@ -225,7 +225,7 @@ static u32 flow_get_skgid(const struct sk_buff *skb)
|
||||
|
||||
static u32 flow_get_vlan_tag(const struct sk_buff *skb)
|
||||
{
|
||||
u16 uninitialized_var(tag);
|
||||
u16 tag;
|
||||
|
||||
if (vlan_get_tag(skb, &tag) < 0)
|
||||
return 0;
|
||||
|
@@ -1692,7 +1692,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
{
|
||||
struct cake_sched_data *q = qdisc_priv(sch);
|
||||
int len = qdisc_pkt_len(skb);
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
struct sk_buff *ack = NULL;
|
||||
ktime_t now = ktime_get();
|
||||
struct cake_tin_data *b;
|
||||
|
@@ -360,7 +360,7 @@ cbq_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
struct sk_buff **to_free)
|
||||
{
|
||||
struct cbq_sched_data *q = qdisc_priv(sch);
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
struct cbq_class *cl = cbq_classify(skb, sch, &ret);
|
||||
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
|
@@ -187,7 +187,7 @@ static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
struct fq_codel_sched_data *q = qdisc_priv(sch);
|
||||
unsigned int idx, prev_backlog, prev_qlen;
|
||||
struct fq_codel_flow *flow;
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
unsigned int pkt_len;
|
||||
bool memory_limited;
|
||||
|
||||
|
@@ -130,7 +130,7 @@ static int fq_pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
{
|
||||
struct fq_pie_sched_data *q = qdisc_priv(sch);
|
||||
struct fq_pie_flow *sel_flow;
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
u8 memory_limited = false;
|
||||
u8 enqueue = false;
|
||||
u32 pkt_len;
|
||||
|
@@ -1533,7 +1533,7 @@ hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free)
|
||||
{
|
||||
unsigned int len = qdisc_pkt_len(skb);
|
||||
struct hfsc_class *cl;
|
||||
int uninitialized_var(err);
|
||||
int err;
|
||||
bool first;
|
||||
|
||||
cl = hfsc_classify(skb, sch, &err);
|
||||
|
@@ -579,7 +579,7 @@ static inline void htb_deactivate(struct htb_sched *q, struct htb_class *cl)
|
||||
static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
struct sk_buff **to_free)
|
||||
{
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
unsigned int len = qdisc_pkt_len(skb);
|
||||
struct htb_sched *q = qdisc_priv(sch);
|
||||
struct htb_class *cl = htb_classify(skb, sch, &ret);
|
||||
|
@@ -349,7 +349,7 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free)
|
||||
unsigned int hash, dropped;
|
||||
sfq_index x, qlen;
|
||||
struct sfq_slot *slot;
|
||||
int uninitialized_var(ret);
|
||||
int ret;
|
||||
struct sk_buff *head;
|
||||
int delta;
|
||||
|
||||
|
Reference in New Issue
Block a user