Linux-Modules Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] libkmod: reset was_space on second pass
@ 2020-01-20 19:22 Lucas De Marchi
  2020-01-27 13:46 ` Lucas De Marchi
  0 siblings, 1 reply; 3+ messages in thread
From: Lucas De Marchi @ 2020-01-20 19:22 UTC (permalink / raw)
  To: linux-modules; +Cc: Jorge Lucangeli Obes, Lucas De Marchi

From: Lucas De Marchi <lucas.demarchi@intel.com>

The softdep config parser uses a 2-pass approach to use a single
allocation for all the softdep struct. However "was_space" variable
isn't reset between them. This can lead to a buffer overflow.

Reported-by: Jorge Lucangeli Obes <jorgelo@google.com>
Link: https://lore.kernel.org/linux-modules/CAKYuF5QhGCPCazHQjN-=kFc5kHs7Ok8WqmmGLo31CiOEN8TYdA@mail.gmail.com
---
 libkmod/libkmod-config.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index aaac0a1..7b62367 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -335,6 +335,7 @@ static int kmod_config_add_softdep(struct kmod_config *config,
 	n_pre = 0;
 	n_post = 0;
 	mode = S_NONE;
+	was_space = false;
 	for (p = s = line; ; s++) {
 		size_t plen;
 
-- 
2.24.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] libkmod: reset was_space on second pass
  2020-01-20 19:22 [PATCH] libkmod: reset was_space on second pass Lucas De Marchi
@ 2020-01-27 13:46 ` Lucas De Marchi
  2020-01-28 15:03   ` Jorge Lucangeli Obes
  0 siblings, 1 reply; 3+ messages in thread
From: Lucas De Marchi @ 2020-01-27 13:46 UTC (permalink / raw)
  To: linux-modules; +Cc: Jorge Lucangeli Obes, Lucas De Marchi

On Mon, Jan 20, 2020 at 4:22 PM Lucas De Marchi
<lucas.de.marchi@gmail.com> wrote:
>
> From: Lucas De Marchi <lucas.demarchi@intel.com>
>
> The softdep config parser uses a 2-pass approach to use a single
> allocation for all the softdep struct. However "was_space" variable
> isn't reset between them. This can lead to a buffer overflow.
>
> Reported-by: Jorge Lucangeli Obes <jorgelo@google.com>
> Link: https://lore.kernel.org/linux-modules/CAKYuF5QhGCPCazHQjN-=kFc5kHs7Ok8WqmmGLo31CiOEN8TYdA@mail.gmail.com
> ---

Applied,

Lucas De Marchi

>  libkmod/libkmod-config.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
> index aaac0a1..7b62367 100644
> --- a/libkmod/libkmod-config.c
> +++ b/libkmod/libkmod-config.c
> @@ -335,6 +335,7 @@ static int kmod_config_add_softdep(struct kmod_config *config,
>         n_pre = 0;
>         n_post = 0;
>         mode = S_NONE;
> +       was_space = false;
>         for (p = s = line; ; s++) {
>                 size_t plen;
>
> --
> 2.24.1
>


-- 
Lucas De Marchi

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] libkmod: reset was_space on second pass
  2020-01-27 13:46 ` Lucas De Marchi
@ 2020-01-28 15:03   ` Jorge Lucangeli Obes
  0 siblings, 0 replies; 3+ messages in thread
From: Jorge Lucangeli Obes @ 2020-01-28 15:03 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: linux-modules, Lucas De Marchi

Thanks!

On Mon, Jan 27, 2020 at 8:46 AM Lucas De Marchi
<lucas.de.marchi@gmail.com> wrote:
>
> On Mon, Jan 20, 2020 at 4:22 PM Lucas De Marchi
> <lucas.de.marchi@gmail.com> wrote:
> >
> > From: Lucas De Marchi <lucas.demarchi@intel.com>
> >
> > The softdep config parser uses a 2-pass approach to use a single
> > allocation for all the softdep struct. However "was_space" variable
> > isn't reset between them. This can lead to a buffer overflow.
> >
> > Reported-by: Jorge Lucangeli Obes <jorgelo@google.com>
> > Link: https://lore.kernel.org/linux-modules/CAKYuF5QhGCPCazHQjN-=kFc5kHs7Ok8WqmmGLo31CiOEN8TYdA@mail.gmail.com
> > ---
>
> Applied,
>
> Lucas De Marchi
>
> >  libkmod/libkmod-config.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
> > index aaac0a1..7b62367 100644
> > --- a/libkmod/libkmod-config.c
> > +++ b/libkmod/libkmod-config.c
> > @@ -335,6 +335,7 @@ static int kmod_config_add_softdep(struct kmod_config *config,
> >         n_pre = 0;
> >         n_post = 0;
> >         mode = S_NONE;
> > +       was_space = false;
> >         for (p = s = line; ; s++) {
> >                 size_t plen;
> >
> > --
> > 2.24.1
> >
>
>
> --
> Lucas De Marchi

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-20 19:22 [PATCH] libkmod: reset was_space on second pass Lucas De Marchi
2020-01-27 13:46 ` Lucas De Marchi
2020-01-28 15:03   ` Jorge Lucangeli Obes

Linux-Modules Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-modules/0 linux-modules/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-modules linux-modules/ https://lore.kernel.org/linux-modules \
		linux-modules@vger.kernel.org
	public-inbox-index linux-modules

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-modules


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git