[v2,0/2] qnx4: Avoid confusing compiler about buffer lengths

Message ID 20231130205010.it.412-kees@kernel.org
Headers
Series qnx4: Avoid confusing compiler about buffer lengths |

Message

Kees Cook Nov. 30, 2023, 8:51 p.m. UTC
  Hi,

This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
too-short struct buffer when reading the string, by using the existing
struct union.

-Kees

[1] https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmail.com/

v2:
 - Use BUILD_BUG_ON() instead of _Static_assert()
v1: https://lore.kernel.org/all/20231118032638.work.955-kees@kernel.org/

Kees Cook (2):
  qnx4: Extract dir entry filename processing into helper
  qnx4: Use get_directory_fname() in qnx4_match()

 fs/qnx4/dir.c   | 52 ++++++------------------------------------
 fs/qnx4/namei.c | 29 +++++++++---------------
 fs/qnx4/qnx4.h  | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 78 insertions(+), 63 deletions(-)
  

Comments

Ronald Monthero Dec. 4, 2023, 3:46 p.m. UTC | #1
Cheers Kees,
BR,
ronald


On Fri, Dec 1, 2023 at 6:51 AM Kees Cook <keescook@chromium.org> wrote:
>
> Hi,
>
> This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
> too-short struct buffer when reading the string, by using the existing
> struct union.
>
> -Kees
>
> [1] https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmail.com/
>
> v2:
>  - Use BUILD_BUG_ON() instead of _Static_assert()
> v1: https://lore.kernel.org/all/20231118032638.work.955-kees@kernel.org/
>
> Kees Cook (2):
>   qnx4: Extract dir entry filename processing into helper
>   qnx4: Use get_directory_fname() in qnx4_match()
>
>  fs/qnx4/dir.c   | 52 ++++++------------------------------------
>  fs/qnx4/namei.c | 29 +++++++++---------------
>  fs/qnx4/qnx4.h  | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 78 insertions(+), 63 deletions(-)
>
> --
> 2.34.1
>
  
Kees Cook Dec. 4, 2023, 10:10 p.m. UTC | #2
On Tue, Dec 05, 2023 at 01:46:27AM +1000, Ronald Monthero wrote:
> Cheers Kees,
> BR,
> ronald

Is this a "Tested-by"? :)

-Kees

> 
> 
> On Fri, Dec 1, 2023 at 6:51 AM Kees Cook <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
> > too-short struct buffer when reading the string, by using the existing
> > struct union.
> >
> > -Kees
> >
> > [1] https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmail.com/
> >
> > v2:
> >  - Use BUILD_BUG_ON() instead of _Static_assert()
> > v1: https://lore.kernel.org/all/20231118032638.work.955-kees@kernel.org/
> >
> > Kees Cook (2):
> >   qnx4: Extract dir entry filename processing into helper
> >   qnx4: Use get_directory_fname() in qnx4_match()
> >
> >  fs/qnx4/dir.c   | 52 ++++++------------------------------------
> >  fs/qnx4/namei.c | 29 +++++++++---------------
> >  fs/qnx4/qnx4.h  | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 78 insertions(+), 63 deletions(-)
> >
> > --
> > 2.34.1
> >
  
Kees Cook Dec. 12, 2023, 9:19 p.m. UTC | #3
On Thu, 30 Nov 2023 12:51:17 -0800, Kees Cook wrote:
> This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
> too-short struct buffer when reading the string, by using the existing
> struct union.
> 
> -Kees
> 
> [1] https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmail.com/
> 
> [...]

I'll put these in -next since there's been no more discussion on it.

Applied to for-next/hardening, thanks!

[1/2] qnx4: Extract dir entry filename processing into helper
      https://git.kernel.org/kees/c/49a85c02a189
[2/2] qnx4: Use get_directory_fname() in qnx4_match()
      https://git.kernel.org/kees/c/0a0fb20f5e08

Take care,
  
Anders Larsen Dec. 13, 2023, 4:43 p.m. UTC | #4
Hi Kees,

On 2023-12-12 22:19 Kees Cook wrote:
> On Thu, 30 Nov 2023 12:51:17 -0800, Kees Cook wrote:
> > This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
> > too-short struct buffer when reading the string, by using the existing
> > struct union.
> > 
> > -Kees
> > 
> > [1]
> > https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmai
> > l.com/
> > 
> > [...]
> 
> I'll put these in -next since there's been no more discussion on it.
> 
> Applied to for-next/hardening, thanks!

thanks for taking care of this (and apologies for me being unresponsive)

If it's not too late, feel free to add
Acked-by: Anders Larsen <al@alarsen.net>

Cheers
Anders
  
Kees Cook Dec. 13, 2023, 7:18 p.m. UTC | #5
On Wed, Dec 13, 2023 at 05:43:08PM +0100, Anders Larsen wrote:
> Hi Kees,
> 
> On 2023-12-12 22:19 Kees Cook wrote:
> > On Thu, 30 Nov 2023 12:51:17 -0800, Kees Cook wrote:
> > > This attempts to fix the issue Ronald Monthero found[1]. Avoids using a
> > > too-short struct buffer when reading the string, by using the existing
> > > struct union.
> > > 
> > > -Kees
> > > 
> > > [1]
> > > https://lore.kernel.org/lkml/20231112095353.579855-1-debug.penguin32@gmai
> > > l.com/
> > > 
> > > [...]
> > 
> > I'll put these in -next since there's been no more discussion on it.
> > 
> > Applied to for-next/hardening, thanks!
> 
> thanks for taking care of this (and apologies for me being unresponsive)
> 
> If it's not too late, feel free to add
> Acked-by: Anders Larsen <al@alarsen.net>

Thanks! I'll update the tags. :)
  
Ronald Monthero Dec. 15, 2023, 9:29 a.m. UTC | #6
On Tue, Dec 5, 2023 at 8:10 AM Kees Cook <keescook@chromium.org> wrote:
>
> On Tue, Dec 05, 2023 at 01:46:27AM +1000, Ronald Monthero wrote:
> > Cheers Kees,
> > BR,
> > ronald
>
> Is this a "Tested-by"? :)

Oh sorry Kees I have somehow missed this conversation.
Yes ack the tests which were earlier causing oops, now pass with the 2 patches.

BR,
ronald