* [PATCH 0/5] sparse related patches
@ 2011-02-23 19:06 Stephen Hemminger
2011-02-23 19:06 ` [PATCH 1/5] socket: suppress sparse warnings Stephen Hemminger
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/5] socket: suppress sparse warnings
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
@ 2011-02-23 19:06 ` Stephen Hemminger
2011-02-23 19:06 ` [PATCH 2/5] atl1[ce]: fix " Stephen Hemminger
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
[-- Attachment #1: socket-sparse --]
[-- Type: text/plain, Size: 1122 bytes --]
Use __force to quiet sparse warnings for cases where the code
is simulating user space pointers.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/net/socket.c 2011-02-23 08:26:51.905069267 -0800
+++ b/net/socket.c 2011-02-23 08:26:59.005160474 -0800
@@ -2648,7 +2648,8 @@ static int bond_ioctl(struct net *net, u
old_fs = get_fs();
set_fs(KERNEL_DS);
- err = dev_ioctl(net, cmd, &kifr);
+ err = dev_ioctl(net, cmd,
+ (struct ifreq __user __force *) &kifr);
set_fs(old_fs);
return err;
@@ -2757,7 +2758,7 @@ static int compat_sioc_ifmap(struct net
old_fs = get_fs();
set_fs(KERNEL_DS);
- err = dev_ioctl(net, cmd, (void __user *)&ifr);
+ err = dev_ioctl(net, cmd, (void __user __force *)&ifr);
set_fs(old_fs);
if (cmd == SIOCGIFMAP && !err) {
@@ -2862,7 +2863,8 @@ static int routing_ioctl(struct net *net
ret |= __get_user(rtdev, &(ur4->rt_dev));
if (rtdev) {
ret |= copy_from_user(devname, compat_ptr(rtdev), 15);
- r4.rt_dev = devname; devname[15] = 0;
+ r4.rt_dev = (char __user __force *)devname;
+ devname[15] = 0;
} else
r4.rt_dev = NULL;
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/5] atl1[ce]: fix sparse warnings
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
2011-02-23 19:06 ` [PATCH 1/5] socket: suppress sparse warnings Stephen Hemminger
@ 2011-02-23 19:06 ` Stephen Hemminger
2011-02-23 19:06 ` [PATCH 3/5] afkey: add sparse annotation about rcu Stephen Hemminger
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
[-- Attachment #1: atl1c-sparse.patch --]
[-- Type: text/plain, Size: 1751 bytes --]
The dmaw_block is an enum and max_pay_load is u32. Therefore
sparse gives warning about comparison of unsigned and signed value.
Resolve by using min_t to force cast.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/drivers/net/atl1c/atl1c_main.c 2011-02-23 09:58:11.282457630 -0800
+++ b/drivers/net/atl1c/atl1c_main.c 2011-02-23 09:58:42.626823758 -0800
@@ -1102,10 +1102,10 @@ static void atl1c_configure_tx(struct at
AT_READ_REG(hw, REG_DEVICE_CTRL, &dev_ctrl_data);
max_pay_load = (dev_ctrl_data >> DEVICE_CTRL_MAX_PAYLOAD_SHIFT) &
DEVICE_CTRL_MAX_PAYLOAD_MASK;
- hw->dmaw_block = min(max_pay_load, hw->dmaw_block);
+ hw->dmaw_block = min_t(u32, max_pay_load, hw->dmaw_block);
max_pay_load = (dev_ctrl_data >> DEVICE_CTRL_MAX_RREQ_SZ_SHIFT) &
DEVICE_CTRL_MAX_RREQ_SZ_MASK;
- hw->dmar_block = min(max_pay_load, hw->dmar_block);
+ hw->dmar_block = min_t(u32, max_pay_load, hw->dmar_block);
txq_ctrl_data = (hw->tpd_burst & TXQ_NUM_TPD_BURST_MASK) <<
TXQ_NUM_TPD_BURST_SHIFT;
--- a/drivers/net/atl1e/atl1e_main.c 2011-02-23 09:58:52.594940247 -0800
+++ b/drivers/net/atl1e/atl1e_main.c 2011-02-23 09:59:03.859071913 -0800
@@ -932,11 +932,11 @@ static inline void atl1e_configure_tx(st
max_pay_load = ((dev_ctrl_data >> DEVICE_CTRL_MAX_PAYLOAD_SHIFT)) &
DEVICE_CTRL_MAX_PAYLOAD_MASK;
- hw->dmaw_block = min(max_pay_load, hw->dmaw_block);
+ hw->dmaw_block = min_t(u32, max_pay_load, hw->dmaw_block);
max_pay_load = ((dev_ctrl_data >> DEVICE_CTRL_MAX_RREQ_SZ_SHIFT)) &
DEVICE_CTRL_MAX_RREQ_SZ_MASK;
- hw->dmar_block = min(max_pay_load, hw->dmar_block);
+ hw->dmar_block = min_t(u32, max_pay_load, hw->dmar_block);
if (hw->nic_type != athr_l2e_revB)
AT_WRITE_REGW(hw, REG_TXQ_CTRL + 2,
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/5] afkey: add sparse annotation about rcu
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
2011-02-23 19:06 ` [PATCH 1/5] socket: suppress sparse warnings Stephen Hemminger
2011-02-23 19:06 ` [PATCH 2/5] atl1[ce]: fix " Stephen Hemminger
@ 2011-02-23 19:06 ` Stephen Hemminger
2011-02-23 19:06 ` [PATCH 4/5] mqprio: cleanups Stephen Hemminger
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
[-- Attachment #1: afkey-sparse --]
[-- Type: text/plain, Size: 604 bytes --]
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/net/key/af_key.c 2011-02-23 10:20:23.181943425 -0800
+++ b/net/key/af_key.c 2011-02-23 10:20:47.290221581 -0800
@@ -3655,6 +3655,7 @@ static int pfkey_seq_show(struct seq_fil
}
static void *pfkey_seq_start(struct seq_file *f, loff_t *ppos)
+ __acquires(rcu)
{
struct net *net = seq_file_net(f);
struct netns_pfkey *net_pfkey = net_generic(net, pfkey_net_id);
@@ -3672,6 +3673,7 @@ static void *pfkey_seq_next(struct seq_f
}
static void pfkey_seq_stop(struct seq_file *f, void *v)
+ __releases(rcu)
{
rcu_read_unlock();
}
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/5] mqprio: cleanups
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
` (2 preceding siblings ...)
2011-02-23 19:06 ` [PATCH 3/5] afkey: add sparse annotation about rcu Stephen Hemminger
@ 2011-02-23 19:06 ` Stephen Hemminger
2011-02-23 19:06 ` [PATCH 5/5] em_meta: fix sparse warning Stephen Hemminger
2011-02-23 22:11 ` [PATCH 0/5] sparse related patches David Miller
5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
[-- Attachment #1: mqprio-sparse.patch --]
[-- Type: text/plain, Size: 914 bytes --]
* make qdisc_ops local
* add sparse annotation about expected unlock/unlock in dump_class_stats
* fix indentation
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/net/sched/sch_mqprio.c 2011-02-23 10:22:17.171259588 -0800
+++ b/net/sched/sch_mqprio.c 2011-02-23 10:28:51.955835730 -0800
@@ -311,7 +311,9 @@ static int mqprio_dump_class(struct Qdis
}
static int mqprio_dump_class_stats(struct Qdisc *sch, unsigned long cl,
- struct gnet_dump *d)
+ struct gnet_dump *d)
+ __releases(d->lock)
+ __acquires(d->lock)
{
struct net_device *dev = qdisc_dev(sch);
@@ -389,7 +391,7 @@ static const struct Qdisc_class_ops mqpr
.dump_stats = mqprio_dump_class_stats,
};
-struct Qdisc_ops mqprio_qdisc_ops __read_mostly = {
+static struct Qdisc_ops mqprio_qdisc_ops __read_mostly = {
.cl_ops = &mqprio_class_ops,
.id = "mqprio",
.priv_size = sizeof(struct mqprio_sched),
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 5/5] em_meta: fix sparse warning
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
` (3 preceding siblings ...)
2011-02-23 19:06 ` [PATCH 4/5] mqprio: cleanups Stephen Hemminger
@ 2011-02-23 19:06 ` Stephen Hemminger
2011-02-23 22:11 ` [PATCH 0/5] sparse related patches David Miller
5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2011-02-23 19:06 UTC (permalink / raw)
To: davem; +Cc: netdev
[-- Attachment #1: em-meta-sparse --]
[-- Type: text/plain, Size: 457 bytes --]
gfp_t needs to be cast to integer.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/net/sched/em_meta.c 2011-02-23 10:26:17.534042646 -0800
+++ b/net/sched/em_meta.c 2011-02-23 10:30:37.533063770 -0800
@@ -401,7 +401,7 @@ META_COLLECTOR(int_sk_sndbuf)
META_COLLECTOR(int_sk_alloc)
{
SKIP_NONLOCAL(skb);
- dst->value = skb->sk->sk_allocation;
+ dst->value = (__force int) skb->sk->sk_allocation;
}
META_COLLECTOR(int_sk_route_caps)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/5] sparse related patches
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
` (4 preceding siblings ...)
2011-02-23 19:06 ` [PATCH 5/5] em_meta: fix sparse warning Stephen Hemminger
@ 2011-02-23 22:11 ` David Miller
5 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2011-02-23 22:11 UTC (permalink / raw)
To: shemminger; +Cc: netdev
All applied, thanks Stephen.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-02-23 22:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-23 19:06 [PATCH 0/5] sparse related patches Stephen Hemminger
2011-02-23 19:06 ` [PATCH 1/5] socket: suppress sparse warnings Stephen Hemminger
2011-02-23 19:06 ` [PATCH 2/5] atl1[ce]: fix " Stephen Hemminger
2011-02-23 19:06 ` [PATCH 3/5] afkey: add sparse annotation about rcu Stephen Hemminger
2011-02-23 19:06 ` [PATCH 4/5] mqprio: cleanups Stephen Hemminger
2011-02-23 19:06 ` [PATCH 5/5] em_meta: fix sparse warning Stephen Hemminger
2011-02-23 22:11 ` [PATCH 0/5] sparse related patches David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).