Message ID | 1465321713-146178-1-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Tuesday, June 07, 2016 08:48:33 PM Andy Shevchenko wrote: > When cast pci_power_t type of variables a static analizer tool complains on > that. > > include/linux/pci.h:119:37: warning: cast from restricted pci_power_t > > Enforce type casting to make static analizer happy. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ACK > --- > include/linux/pci.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index b67e4df..8d74834 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -116,7 +116,7 @@ extern const char *pci_power_names[]; > > static inline const char *pci_power_name(pci_power_t state) > { > - return pci_power_names[1 + (int) state]; > + return pci_power_names[1 + (__force int) state]; > } > > #define PCI_PM_D2_DELAY 200 > -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jun 07, 2016 at 08:48:33PM +0300, Andy Shevchenko wrote: > When cast pci_power_t type of variables a static analizer tool complains on > that. > > include/linux/pci.h:119:37: warning: cast from restricted pci_power_t > > Enforce type casting to make static analizer happy. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Applied to pci/pm for v4.8, thanks, Andy. > --- > include/linux/pci.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index b67e4df..8d74834 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -116,7 +116,7 @@ extern const char *pci_power_names[]; > > static inline const char *pci_power_name(pci_power_t state) > { > - return pci_power_names[1 + (int) state]; > + return pci_power_names[1 + (__force int) state]; > } > > #define PCI_PM_D2_DELAY 200 > -- > 2.8.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2016-06-10 at 19:19 -0500, Bjorn Helgaas wrote: > On Tue, Jun 07, 2016 at 08:48:33PM +0300, Andy Shevchenko wrote: > > When cast pci_power_t type of variables a static analizer tool > > complains on > > that. > > > > include/linux/pci.h:119:37: warning: cast from restricted > > pci_power_t > > > > Enforce type casting to make static analizer happy. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Applied to pci/pm for v4.8, thanks, Andy. Thanks. By the way, what was the main point to use __bitwise annotation to this type in the first place? > > > --- > > include/linux/pci.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/linux/pci.h b/include/linux/pci.h > > index b67e4df..8d74834 100644 > > --- a/include/linux/pci.h > > +++ b/include/linux/pci.h > > @@ -116,7 +116,7 @@ extern const char *pci_power_names[]; > > > > static inline const char *pci_power_name(pci_power_t state) > > { > > - return pci_power_names[1 + (int) state]; > > + return pci_power_names[1 + (__force int) state]; > > } > > > > #define PCI_PM_D2_DELAY 200 > > -- > > 2.8.1 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-pci" > > in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jun 13, 2016 at 02:40:54PM +0300, Andy Shevchenko wrote: > On Fri, 2016-06-10 at 19:19 -0500, Bjorn Helgaas wrote: > > On Tue, Jun 07, 2016 at 08:48:33PM +0300, Andy Shevchenko wrote: > > > When cast pci_power_t type of variables a static analizer tool > > > complains on > > > that. > > > > > > include/linux/pci.h:119:37: warning: cast from restricted > > > pci_power_t > > > > > > Enforce type casting to make static analizer happy. > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > > > Applied to pci/pm for v4.8, thanks, Andy. > > Thanks. > > By the way, what was the main point to use __bitwise annotation to this > type in the first place? I don't know. It looks like pci_power_t was the first use of __bitwise in pci.h, added by e8191db240d2 ("[PATCH] PCI: Cleanup PCI power states"). That changelog mentions type-safety, but I must admit that doesn't make it obvious to me. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 2016-06-13 at 08:13 -0500, Bjorn Helgaas wrote: > On Mon, Jun 13, 2016 at 02:40:54PM +0300, Andy Shevchenko wrote: > > On Fri, 2016-06-10 at 19:19 -0500, Bjorn Helgaas wrote: > > > On Tue, Jun 07, 2016 at 08:48:33PM +0300, Andy Shevchenko wrote: > > > > When cast pci_power_t type of variables a static analizer tool > > > > complains on > > > > that. > > > > > > > > include/linux/pci.h:119:37: warning: cast from > > > > restricted > > > > pci_power_t > > > > > > > > Enforce type casting to make static analizer happy. > > > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.co > > > > m> > > > > > > Applied to pci/pm for v4.8, thanks, Andy. > > > > Thanks. > > > > By the way, what was the main point to use __bitwise annotation to > > this > > type in the first place? > > I don't know. It looks like pci_power_t was the first use of > __bitwise in > pci.h, added by e8191db240d2 ("[PATCH] PCI: Cleanup PCI power > states"). > That changelog mentions type-safety, but I must admit that doesn't > make it > obvious to me. I'm asking since any code which is using this type (all direct assignments or comparisons) brings a static analyzer complain. You may check by yourself with (my usual command to build kernel) % make C=1 CF=-D__CHECK_ENDIAN__ W=1 -j64 -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/pci.h b/include/linux/pci.h index b67e4df..8d74834 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -116,7 +116,7 @@ extern const char *pci_power_names[]; static inline const char *pci_power_name(pci_power_t state) { - return pci_power_names[1 + (int) state]; + return pci_power_names[1 + (__force int) state]; } #define PCI_PM_D2_DELAY 200
When cast pci_power_t type of variables a static analizer tool complains on that. include/linux/pci.h:119:37: warning: cast from restricted pci_power_t Enforce type casting to make static analizer happy. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- include/linux/pci.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)