Tim Gardner
2013-Nov-14 21:29 UTC
[PATCH 3.13-rc1] xen-blkfront: Silence pfn maybe-uninitialized warning
pfn cannot actually be used unless (!info->feature_persistent), nor is pfn accessed in get_grant() unless (!info->feature_persistent), but silence this warning anyway. gcc-4.8 drivers/block/xen-blkfront.c: In function ''do_blkif_request'': drivers/block/xen-blkfront.c:508:20: warning: ''pfn'' may be used uninitialized in this function [-Wmaybe-uninitialized] gnt_list_entry = get_grant(&gref_head, pfn, info); ^ drivers/block/xen-blkfront.c:492:19: note: ''pfn'' was declared here unsigned long pfn; Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: David Vrabel <david.vrabel@citrix.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> --- drivers/block/xen-blkfront.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 432db1b..5f926de 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -489,7 +489,7 @@ static int blkif_queue_request(struct request *req) if ((ring_req->operation == BLKIF_OP_INDIRECT) && (i % SEGS_PER_INDIRECT_FRAME == 0)) { - unsigned long pfn; + unsigned long uninitialized_var(pfn); if (segments) kunmap_atomic(segments); -- 1.7.9.5
Konrad Rzeszutek Wilk
2013-Nov-14 22:24 UTC
Re: [PATCH 3.13-rc1] xen-blkfront: Silence pfn maybe-uninitialized warning
Tim Gardner <tim.gardner@canonical.com> wrote:>pfn cannot actually be used unless (!info->feature_persistent), nor is >pfn accessed in get_grant() unless (!info->feature_persistent), but >silence >this warning anyway. gcc-4.8 > >drivers/block/xen-blkfront.c: In function ''do_blkif_request'': >drivers/block/xen-blkfront.c:508:20: warning: ''pfn'' may be used >uninitialized in this function [-Wmaybe-uninitialized] > gnt_list_entry = get_grant(&gref_head, pfn, info); > ^ >drivers/block/xen-blkfront.c:492:19: note: ''pfn'' was declared here > unsigned long pfn; > >Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> >Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> >Cc: David Vrabel <david.vrabel@citrix.com> >Signed-off-by: Tim Gardner <tim.gardner@canonical.com> >--- > drivers/block/xen-blkfront.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/block/xen-blkfront.c >b/drivers/block/xen-blkfront.c >index 432db1b..5f926de 100644 >--- a/drivers/block/xen-blkfront.c >+++ b/drivers/block/xen-blkfront.c >@@ -489,7 +489,7 @@ static int blkif_queue_request(struct request *req) > > if ((ring_req->operation == BLKIF_OP_INDIRECT) && > (i % SEGS_PER_INDIRECT_FRAME == 0)) { >- unsigned long pfn; >+ unsigned long uninitialized_var(pfn); > > if (segments) > kunmap_atomic(segments);I have a similar patch from Roger that sets pfn=0. Roger could you repost your patch please or if you feel that this patch makes sense then comment on it? Thanks.
Tim Gardner
2013-Nov-14 22:54 UTC
Re: [PATCH 3.13-rc1] xen-blkfront: Silence pfn maybe-uninitialized warning
On 11/14/2013 02:24 PM, Konrad Rzeszutek Wilk wrote:> Tim Gardner <tim.gardner@canonical.com> wrote: >> pfn cannot actually be used unless (!info->feature_persistent), nor >> is pfn accessed in get_grant() unless (!info->feature_persistent), >> but silence this warning anyway. gcc-4.8 >> >> drivers/block/xen-blkfront.c: In function ''do_blkif_request'': >> drivers/block/xen-blkfront.c:508:20: warning: ''pfn'' may be used >> uninitialized in this function [-Wmaybe-uninitialized] >> gnt_list_entry = get_grant(&gref_head, pfn, info); ^ >> drivers/block/xen-blkfront.c:492:19: note: ''pfn'' was declared here >> unsigned long pfn; >> >> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Boris >> Ostrovsky <boris.ostrovsky@oracle.com> Cc: David Vrabel >> <david.vrabel@citrix.com> Signed-off-by: Tim Gardner >> <tim.gardner@canonical.com> --- drivers/block/xen-blkfront.c | 2 >> +- 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/block/xen-blkfront.c >> b/drivers/block/xen-blkfront.c index 432db1b..5f926de 100644 --- >> a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c >> @@ -489,7 +489,7 @@ static int blkif_queue_request(struct request >> *req) >> >> if ((ring_req->operation == BLKIF_OP_INDIRECT) && (i % >> SEGS_PER_INDIRECT_FRAME == 0)) { - unsigned long pfn; + >> unsigned long uninitialized_var(pfn); >> >> if (segments) kunmap_atomic(segments); > > I have a similar patch from Roger that sets pfn=0. > > Roger could you repost your patch please or if you feel that this > patch makes sense then comment on it? > > Thanks. >The advantage of uninitialized_var() is that it doesn''t actually generate any code (or so it says in the header). rtg -- Tim Gardner tim.gardner@canonical.com
Roger Pau Monné
2013-Nov-15 12:09 UTC
Re: [PATCH 3.13-rc1] xen-blkfront: Silence pfn maybe-uninitialized warning
On 14/11/13 23:24, Konrad Rzeszutek Wilk wrote:> Tim Gardner <tim.gardner@canonical.com> wrote: >> pfn cannot actually be used unless (!info->feature_persistent), nor is >> pfn accessed in get_grant() unless (!info->feature_persistent), but >> silence >> this warning anyway. gcc-4.8 >> >> drivers/block/xen-blkfront.c: In function 'do_blkif_request': >> drivers/block/xen-blkfront.c:508:20: warning: 'pfn' may be used >> uninitialized in this function [-Wmaybe-uninitialized] >> gnt_list_entry = get_grant(&gref_head, pfn, info); >> ^ >> drivers/block/xen-blkfront.c:492:19: note: 'pfn' was declared here >> unsigned long pfn; >> >> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> >> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> >> Cc: David Vrabel <david.vrabel@citrix.com> >> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>Acked-by: Roger Pau Monné <roger.pau@citrix.com>>> --- >> drivers/block/xen-blkfront.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/block/xen-blkfront.c >> b/drivers/block/xen-blkfront.c >> index 432db1b..5f926de 100644 >> --- a/drivers/block/xen-blkfront.c >> +++ b/drivers/block/xen-blkfront.c >> @@ -489,7 +489,7 @@ static int blkif_queue_request(struct request *req) >> >> if ((ring_req->operation == BLKIF_OP_INDIRECT) && >> (i % SEGS_PER_INDIRECT_FRAME == 0)) { >> - unsigned long pfn; >> + unsigned long uninitialized_var(pfn); >> >> if (segments) >> kunmap_atomic(segments); > > I have a similar patch from Roger that sets pfn=0. > > Roger could you repost your patch please or if you feel that this patch makes sense then comment on it?I'm fine with this patch, although I'm more used to the classic pfn = 0. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel