* [PATCH] firmware: Always initialize the fw_priv list object @ 2018-09-20 1:09 Bjorn Andersson 2018-09-20 5:22 ` Greg Kroah-Hartman 2018-09-20 7:38 ` Rafael J. Wysocki 0 siblings, 2 replies; 9+ messages in thread From: Bjorn Andersson @ 2018-09-20 1:09 UTC (permalink / raw) To: Luis R. Rodriguez, Greg Kroah-Hartman Cc: Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar When freeing the fw_priv the item is taken off the list. This causes an oops in the FW_OPT_NOCACHE case as the list object is not initialized. Make sure to initialize the list object regardless of this flag. Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") Cc: stable@vger.kernel.org Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- drivers/base/firmware_loader/main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c index b3c0498ee433..8e9213b36e31 100644 --- a/drivers/base/firmware_loader/main.c +++ b/drivers/base/firmware_loader/main.c @@ -226,8 +226,11 @@ static int alloc_lookup_fw_priv(const char *fw_name, } tmp = __allocate_fw_priv(fw_name, fwc, dbuf, size); - if (tmp && !(opt_flags & FW_OPT_NOCACHE)) - list_add(&tmp->list, &fwc->head); + if (tmp) { + INIT_LIST_HEAD(&tmp->list); + if (!(opt_flags & FW_OPT_NOCACHE)) + list_add(&tmp->list, &fwc->head); + } spin_unlock(&fwc->lock); *fw_priv = tmp; -- 2.18.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-09-20 1:09 [PATCH] firmware: Always initialize the fw_priv list object Bjorn Andersson @ 2018-09-20 5:22 ` Greg Kroah-Hartman 2018-09-20 7:34 ` Bjorn Andersson 2018-09-20 7:38 ` Rafael J. Wysocki 1 sibling, 1 reply; 9+ messages in thread From: Greg Kroah-Hartman @ 2018-09-20 5:22 UTC (permalink / raw) To: Bjorn Andersson Cc: Luis R. Rodriguez, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > When freeing the fw_priv the item is taken off the list. This causes an > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > Make sure to initialize the list object regardless of this flag. > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > Cc: stable@vger.kernel.org > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > drivers/base/firmware_loader/main.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) Is this being triggered by some hardware somewhere today? Or is this just a fix found by code inspection? thanks, greg k-h ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-09-20 5:22 ` Greg Kroah-Hartman @ 2018-09-20 7:34 ` Bjorn Andersson 2018-10-01 13:27 ` Niklas Cassel 0 siblings, 1 reply; 9+ messages in thread From: Bjorn Andersson @ 2018-09-20 7:34 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Luis R. Rodriguez, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > When freeing the fw_priv the item is taken off the list. This causes an > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > Make sure to initialize the list object regardless of this flag. > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > Cc: stable@vger.kernel.org > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > --- > > drivers/base/firmware_loader/main.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > Is this being triggered by some hardware somewhere today? Or is this > just a fix found by code inspection? > Hi Greg, Yes, I found this issue while attempting to load the firmware and boot one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it can be reproduced on the upstream Dragonboard 820c. Regards, Bjorn ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-09-20 7:34 ` Bjorn Andersson @ 2018-10-01 13:27 ` Niklas Cassel 2018-10-01 18:18 ` Luis Chamberlain 0 siblings, 1 reply; 9+ messages in thread From: Niklas Cassel @ 2018-10-01 13:27 UTC (permalink / raw) To: Bjorn Andersson Cc: Greg Kroah-Hartman, Luis R. Rodriguez, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Thu, Sep 20, 2018 at 12:34:15AM -0700, Bjorn Andersson wrote: > On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > > > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > > When freeing the fw_priv the item is taken off the list. This causes an > > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > > > Make sure to initialize the list object regardless of this flag. > > > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > > Cc: stable@vger.kernel.org > > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > --- > > > drivers/base/firmware_loader/main.c | 7 +++++-- > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > Is this being triggered by some hardware somewhere today? Or is this > > just a fix found by code inspection? > > > > Hi Greg, > > Yes, I found this issue while attempting to load the firmware and boot > one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it > can be reproduced on the upstream Dragonboard 820c. I still see this issue on v4.19-rc6. It would be nice if this fix gets merged before v4.19 gets released. Kind regards, Niklas ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-10-01 13:27 ` Niklas Cassel @ 2018-10-01 18:18 ` Luis Chamberlain 2018-10-01 18:32 ` Bjorn Andersson 0 siblings, 1 reply; 9+ messages in thread From: Luis Chamberlain @ 2018-10-01 18:18 UTC (permalink / raw) To: Niklas Cassel Cc: Bjorn Andersson, Greg Kroah-Hartman, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Mon, Oct 01, 2018 at 03:27:03PM +0200, Niklas Cassel wrote: > On Thu, Sep 20, 2018 at 12:34:15AM -0700, Bjorn Andersson wrote: > > On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > > > > > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > > > When freeing the fw_priv the item is taken off the list. This causes an > > > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > > > > > Make sure to initialize the list object regardless of this flag. > > > > > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > > > Cc: stable@vger.kernel.org > > > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > > --- > > > > drivers/base/firmware_loader/main.c | 7 +++++-- > > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > Is this being triggered by some hardware somewhere today? Or is this > > > just a fix found by code inspection? > > > > > > > Hi Greg, > > > > Yes, I found this issue while attempting to load the firmware and boot > > one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it > > can be reproduced on the upstream Dragonboard 820c. > > I still see this issue on v4.19-rc6. > > It would be nice if this fix gets merged before v4.19 gets released. This is the first I hear of this and this patch, so you should re-send it and I can review it. Also please Cc Rishabh. Rishabh, had you heard of this and can you confirm as well as 422b3db2a503 was your commit? Luis ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-10-01 18:18 ` Luis Chamberlain @ 2018-10-01 18:32 ` Bjorn Andersson 2018-10-01 18:53 ` Luis Chamberlain 2018-10-01 20:58 ` Greg Kroah-Hartman 0 siblings, 2 replies; 9+ messages in thread From: Bjorn Andersson @ 2018-10-01 18:32 UTC (permalink / raw) To: Luis Chamberlain, Niklas Cassel Cc: Greg Kroah-Hartman, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Mon 01 Oct 11:18 PDT 2018, Luis Chamberlain wrote: > On Mon, Oct 01, 2018 at 03:27:03PM +0200, Niklas Cassel wrote: > > On Thu, Sep 20, 2018 at 12:34:15AM -0700, Bjorn Andersson wrote: > > > On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > > > > > > > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > > > > When freeing the fw_priv the item is taken off the list. This causes an > > > > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > > > > > > > Make sure to initialize the list object regardless of this flag. > > > > > > > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > > > > Cc: stable@vger.kernel.org > > > > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > > > --- > > > > > drivers/base/firmware_loader/main.c | 7 +++++-- > > > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > > > Is this being triggered by some hardware somewhere today? Or is this > > > > just a fix found by code inspection? > > > > > > > > > > Hi Greg, > > > > > > Yes, I found this issue while attempting to load the firmware and boot > > > one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it > > > can be reproduced on the upstream Dragonboard 820c. > > > > I still see this issue on v4.19-rc6. > > > > It would be nice if this fix gets merged before v4.19 gets released. > > This is the first I hear of this and this patch, so you should re-send > it and I can review it. Also please Cc Rishabh. > > Rishabh, had you heard of this and can you confirm as well as > 422b3db2a503 was your commit? > Thanks Luis, It seems like Greg did pick the patch yesterday [1], so hopefully he sends himself a pull request this week for inclusion in v4.19-rc7. [1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/log/?h=char-misc-linus Regards, Bjorn ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-10-01 18:32 ` Bjorn Andersson @ 2018-10-01 18:53 ` Luis Chamberlain 2018-10-01 20:58 ` Greg Kroah-Hartman 1 sibling, 0 replies; 9+ messages in thread From: Luis Chamberlain @ 2018-10-01 18:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Niklas Cassel, Greg Kroah-Hartman, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Mon, Oct 01, 2018 at 11:32:16AM -0700, Bjorn Andersson wrote: > On Mon 01 Oct 11:18 PDT 2018, Luis Chamberlain wrote: > > > On Mon, Oct 01, 2018 at 03:27:03PM +0200, Niklas Cassel wrote: > > > On Thu, Sep 20, 2018 at 12:34:15AM -0700, Bjorn Andersson wrote: > > > > On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > > > > > > > > > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > > > > > When freeing the fw_priv the item is taken off the list. This causes an > > > > > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > > > > > > > > > Make sure to initialize the list object regardless of this flag. > > > > > > > > > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > > > > > Cc: stable@vger.kernel.org > > > > > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > > > > --- > > > > > > drivers/base/firmware_loader/main.c | 7 +++++-- > > > > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > > > > > Is this being triggered by some hardware somewhere today? Or is this > > > > > just a fix found by code inspection? > > > > > > > > > > > > > Hi Greg, > > > > > > > > Yes, I found this issue while attempting to load the firmware and boot > > > > one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it > > > > can be reproduced on the upstream Dragonboard 820c. > > > > > > I still see this issue on v4.19-rc6. > > > > > > It would be nice if this fix gets merged before v4.19 gets released. > > > > This is the first I hear of this and this patch, so you should re-send > > it and I can review it. Also please Cc Rishabh. > > > > Rishabh, had you heard of this and can you confirm as well as > > 422b3db2a503 was your commit? > > > > Thanks Luis, > > It seems like Greg did pick the patch yesterday [1], so hopefully he > sends himself a pull request this week for inclusion in v4.19-rc7. > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/log/?h=char-misc-linus The patch looks good. Next time please send patches to the maintainer as well. Luis ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-10-01 18:32 ` Bjorn Andersson 2018-10-01 18:53 ` Luis Chamberlain @ 2018-10-01 20:58 ` Greg Kroah-Hartman 1 sibling, 0 replies; 9+ messages in thread From: Greg Kroah-Hartman @ 2018-10-01 20:58 UTC (permalink / raw) To: Bjorn Andersson Cc: Luis Chamberlain, Niklas Cassel, Rafael J. Wysocki, linux-kernel, linux-arm-msm, stable, Rishabh Bhatnagar On Mon, Oct 01, 2018 at 11:32:16AM -0700, Bjorn Andersson wrote: > On Mon 01 Oct 11:18 PDT 2018, Luis Chamberlain wrote: > > > On Mon, Oct 01, 2018 at 03:27:03PM +0200, Niklas Cassel wrote: > > > On Thu, Sep 20, 2018 at 12:34:15AM -0700, Bjorn Andersson wrote: > > > > On Wed 19 Sep 22:22 PDT 2018, Greg Kroah-Hartman wrote: > > > > > > > > > On Wed, Sep 19, 2018 at 06:09:38PM -0700, Bjorn Andersson wrote: > > > > > > When freeing the fw_priv the item is taken off the list. This causes an > > > > > > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > > > > > > > > > > > Make sure to initialize the list object regardless of this flag. > > > > > > > > > > > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > > > > > > Cc: stable@vger.kernel.org > > > > > > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > > > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > > > > --- > > > > > > drivers/base/firmware_loader/main.c | 7 +++++-- > > > > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > > > > > Is this being triggered by some hardware somewhere today? Or is this > > > > > just a fix found by code inspection? > > > > > > > > > > > > > Hi Greg, > > > > > > > > Yes, I found this issue while attempting to load the firmware and boot > > > > one of the DSPs on one of my Qualcomm dev boards after v4.19-rc4 and it > > > > can be reproduced on the upstream Dragonboard 820c. > > > > > > I still see this issue on v4.19-rc6. > > > > > > It would be nice if this fix gets merged before v4.19 gets released. > > > > This is the first I hear of this and this patch, so you should re-send > > it and I can review it. Also please Cc Rishabh. > > > > Rishabh, had you heard of this and can you confirm as well as > > 422b3db2a503 was your commit? > > > > Thanks Luis, > > It seems like Greg did pick the patch yesterday [1], so hopefully he > sends himself a pull request this week for inclusion in v4.19-rc7. That was going to be my plan :) thanks, greg k-h ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] firmware: Always initialize the fw_priv list object 2018-09-20 1:09 [PATCH] firmware: Always initialize the fw_priv list object Bjorn Andersson 2018-09-20 5:22 ` Greg Kroah-Hartman @ 2018-09-20 7:38 ` Rafael J. Wysocki 1 sibling, 0 replies; 9+ messages in thread From: Rafael J. Wysocki @ 2018-09-20 7:38 UTC (permalink / raw) To: bjorn.andersson Cc: Luis R. Rodriguez, Greg Kroah-Hartman, Rafael J. Wysocki, Linux Kernel Mailing List, linux-arm-msm, Stable, Rishabh Bhatnagar On Thu, Sep 20, 2018 at 3:07 AM Bjorn Andersson <bjorn.andersson@linaro.org> wrote: > > When freeing the fw_priv the item is taken off the list. This causes an > oops in the FW_OPT_NOCACHE case as the list object is not initialized. > > Make sure to initialize the list object regardless of this flag. > > Fixes: 422b3db2a503 ("firmware: Fix security issue with request_firmware_into_buf()") > Cc: stable@vger.kernel.org > Cc: Rishabh Bhatnagar <rishabhb@codeaurora.org> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > drivers/base/firmware_loader/main.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c > index b3c0498ee433..8e9213b36e31 100644 > --- a/drivers/base/firmware_loader/main.c > +++ b/drivers/base/firmware_loader/main.c > @@ -226,8 +226,11 @@ static int alloc_lookup_fw_priv(const char *fw_name, > } > > tmp = __allocate_fw_priv(fw_name, fwc, dbuf, size); > - if (tmp && !(opt_flags & FW_OPT_NOCACHE)) > - list_add(&tmp->list, &fwc->head); > + if (tmp) { > + INIT_LIST_HEAD(&tmp->list); > + if (!(opt_flags & FW_OPT_NOCACHE)) > + list_add(&tmp->list, &fwc->head); > + } > spin_unlock(&fwc->lock); > > *fw_priv = tmp; > -- Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-10-02 1:13 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-09-20 1:09 [PATCH] firmware: Always initialize the fw_priv list object Bjorn Andersson 2018-09-20 5:22 ` Greg Kroah-Hartman 2018-09-20 7:34 ` Bjorn Andersson 2018-10-01 13:27 ` Niklas Cassel 2018-10-01 18:18 ` Luis Chamberlain 2018-10-01 18:32 ` Bjorn Andersson 2018-10-01 18:53 ` Luis Chamberlain 2018-10-01 20:58 ` Greg Kroah-Hartman 2018-09-20 7:38 ` Rafael J. Wysocki
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).