Displaying 3 results from an estimated 3 matches for "hcd_to_ehci".
2007 Nov 13
0
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
...ojtek
> struct device;
>
> struct usb_bus {
> struct device *controller;
> };
>
> struct usb_hcd {
> struct usb_bus self;
>
> unsigned long hcd_priv[0];
> };
>
> struct ehci_hcd;
>
> static inline __attribute__((always_inline)) struct ehci_hcd
> *hcd_to_ehci (struct usb_hcd *hcd)
> {
> return (struct ehci_hcd *) (hcd->hcd_priv);
> }
>
> static inline __attribute__((always_inline)) struct usb_hcd
> *ehci_to_hcd (struct ehci_hcd *ehci)
> {
> return ({ const typeof( ((struct usb_hcd *)0)->hcd_priv ) *__mptr =
> ((voi...
2007 Nov 13
2
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
Hi!
While investigating into the PR1782 I spent some time analyzing
BasicAliasAnalysis.cpp. While the mentioned problem should be fixed now
(I hope), I have discovered some other possibilities for a bug to occur.
In the case of checking for aliasing of two pointer values, where at
least one of them is a GEP instruction with out-of-bound indices,
BasicAliasAnalysis can return NoAlias, even if the
2007 Nov 15
2
[LLVMdev] BasicAliasAnalysis and out-of-bound GEP indices
...struct device *controller;
> > };
> >
> > struct usb_hcd {
> > struct usb_bus self;
> >
> > unsigned long hcd_priv[0];
> > };
> >
> > struct ehci_hcd;
> >
> > static inline __attribute__((always_inline)) struct ehci_hcd
> > *hcd_to_ehci (struct usb_hcd *hcd)
> > {
> > return (struct ehci_hcd *) (hcd->hcd_priv);
> > }
> >
> > static inline __attribute__((always_inline)) struct usb_hcd
> > *ehci_to_hcd (struct ehci_hcd *ehci)
> > {
> > return ({ const typeof( ((struct usb_hcd *)0)...