In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash.
This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org ---
My mails are broken, i have pushed this patch here:
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
drivers/dma/of-dma.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c index 69d04d2..09c7ad1 100644 --- a/drivers/dma/of-dma.c +++ b/drivers/dma/of-dma.c @@ -93,6 +93,7 @@ int of_dma_controller_register(struct device_node *np, { struct of_dma *ofdma; int nbcells; + const __be32 *prop;
if (!np || !of_dma_xlate) { pr_err("%s: not enough information provided\n", __func__); @@ -103,8 +104,11 @@ int of_dma_controller_register(struct device_node *np, if (!ofdma) return -ENOMEM;
- nbcells = be32_to_cpup(of_get_property(np, "#dma-cells", NULL)); - if (!nbcells) { + prop = of_get_property(np, "#dma-cells", NULL); + if (prop) + nbcells = be32_to_cpup(prop); + + if (!prop || !nbcells) { pr_err("%s: #dma-cells property is missing or invalid\n", __func__); kfree(ofdma);
On Fri, Mar 15, 2013 at 02:18:20PM +0530, Viresh Kumar wrote:
In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash.
This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
My mails are broken, i have pushed this patch here:
I noticed you used git send-email. Usually it will send patch properly independent of whatever MUA you use. So I have the patch and its applied now :)
-- ~Vinod
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
drivers/dma/of-dma.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c index 69d04d2..09c7ad1 100644 --- a/drivers/dma/of-dma.c +++ b/drivers/dma/of-dma.c @@ -93,6 +93,7 @@ int of_dma_controller_register(struct device_node *np, { struct of_dma *ofdma; int nbcells;
- const __be32 *prop;
if (!np || !of_dma_xlate) { pr_err("%s: not enough information provided\n", __func__); @@ -103,8 +104,11 @@ int of_dma_controller_register(struct device_node *np, if (!ofdma) return -ENOMEM;
- nbcells = be32_to_cpup(of_get_property(np, "#dma-cells", NULL));
- if (!nbcells) {
- prop = of_get_property(np, "#dma-cells", NULL);
- if (prop)
nbcells = be32_to_cpup(prop);
- if (!prop || !nbcells) { pr_err("%s: #dma-cells property is missing or invalid\n", __func__); kfree(ofdma);
-- 1.7.12.rc2.18.g61b472e
On 21 March 2013 15:16, Vinod Koul vinod.koul@intel.com wrote:
On Fri, Mar 15, 2013 at 02:18:20PM +0530, Viresh Kumar wrote:
In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash.
This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
My mails are broken, i have pushed this patch here:
I noticed you used git send-email. Usually it will send patch properly independent of whatever MUA you use.
Probably not!! Its the famous (Infamous) Microsoft exchange server working in background and it breaks mails without treating mails coming from git send-email specially :)
So I have the patch and its applied now :)
I have seen this kind of discrimination on breaking patches based on the size of patch. If its very small (like this one), you may get a unbroken patch but if the size is a bit large then nobody can save you :)
-- viresh
On Thu, Mar 21, 2013 at 03:48:50PM +0530, Viresh Kumar wrote:
On 21 March 2013 15:16, Vinod Koul vinod.koul@intel.com wrote:
On Fri, Mar 15, 2013 at 02:18:20PM +0530, Viresh Kumar wrote:
In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash.
This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
My mails are broken, i have pushed this patch here:
I noticed you used git send-email. Usually it will send patch properly independent of whatever MUA you use.
Probably not!! Its the famous (Infamous) Microsoft exchange server working in background and it breaks mails without treating mails coming from git send-email specially :)
I have seen usually receiving patches is a problem, not sending. at least at my work place till now my sent patches have not been broken but what I receive has thus forcing me to use non exchange accounts for receiving email but somehow situation is better for receiving too :) -- ~Vinod
So I have the patch and its applied now :)
I have seen this kind of discrimination on breaking patches based on the size of patch. If its very small (like this one), you may get a unbroken patch but if the size is a bit large then nobody can save you :)
-- viresh
On Thu, Mar 21, 2013 at 4:08 PM, Vinod Koul vinod.koul@intel.com wrote:
On Thu, Mar 21, 2013 at 03:48:50PM +0530, Viresh Kumar wrote:
On 21 March 2013 15:16, Vinod Koul vinod.koul@intel.com wrote:
On Fri, Mar 15, 2013 at 02:18:20PM +0530, Viresh Kumar wrote:
In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash.
This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
My mails are broken, i have pushed this patch here:
I noticed you used git send-email. Usually it will send patch properly independent of whatever MUA you use.
Probably not!! Its the famous (Infamous) Microsoft exchange server working in background and it breaks mails without treating mails coming from git send-email specially :)
I have seen usually receiving patches is a problem, not sending. at least at my work place till now my sent patches have not been broken but what I receive has thus forcing me to use non exchange accounts for receiving email but somehow situation is better for receiving too :) -- ~Vinod
So I have the patch and its applied now :)
I have seen this kind of discrimination on breaking patches based on the size of patch. If its very small (like this one), you may get a unbroken patch but if the size is a bit large then nobody can save you :)
I've seen the Exchange bug in both forms[1] - munging incoming patches as well as outgoing ones. It almost feels like the Exchange team's benevolent ploy to get companies to migrate away from Exchange so they can end-of-life those servers and stop developing Exchange further for the general betterment of humankind.[2]
[1] Since as far back as 8 years ago! [2] That or they get bonuses based on how much they disrupt open source communities. ;-)
linaro-kernel@lists.linaro.org