All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Joao Moreira <jmoreira@suse.de>, Greg KH <gregkh@linuxfoundation.org>
Cc: Kernel Hardening <kernel-hardening@lists.openwall.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Daniel Micay <danielmicay@gmail.com>
Subject: Re: [PATCH] vgacon: fix function prototypes
Date: Sat, 10 Mar 2018 07:27:21 -0800	[thread overview]
Message-ID: <CAGXu5jJBQPPv1jr85wFFKAuLtacMWk+_P-=Yi0UR=E9yJ7nkow@mail.gmail.com> (raw)
In-Reply-To: <20180310064059.12720-1-jmoreira@suse.de>

On Fri, Mar 9, 2018 at 10:40 PM, Joao Moreira <jmoreira@suse.de> wrote:
> It is possible to indirectly invoke functions with prototypes that do not
> match those of the respectively used function pointers by using void types.
> Despite widely used as a feature for relaxing function invocation, this
> should be avoided when possible as it may prevent the use of heuristics
> such as prototype matching-based Control-Flow Integrity, which can be used
> to prevent ROP-based attacks.
>
> Given the above, the current efforts to improve the Linux security, and the
> upcoming kernel support to compilers with CFI features, fix prototypes in
> vgacon console driver.
>
> Another similar fix can be seen in [1].
>
> [1] https://android-review.googlesource.com/c/kernel/common/+/602010
>
> Signed-off-by:  João Moreira <jmoreira@suse.de>

Whoops, I missed this one. :) Thanks! Greg, do you need this resent
directly to you?

Acked-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
>  drivers/video/console/vgacon.c | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
> index a17ba1465815..f00b630f6839 100644
> --- a/drivers/video/console/vgacon.c
> +++ b/drivers/video/console/vgacon.c
> @@ -1407,21 +1407,29 @@ static bool vgacon_scroll(struct vc_data *c, unsigned int t, unsigned int b,
>   *  The console `switch' structure for the VGA based console
>   */
>
> -static int vgacon_dummy(struct vc_data *c)
> +static int vgacon_clear(struct vc_data *c)
>  {
>         return 0;
>  }
>
> -#define DUMMY (void *) vgacon_dummy
> +static void vgacon_putc(struct vc_data *c, int a, int b, int d)
> +{
> +       return;
> +}
> +
> +static void vgacon_putcs(struct vc_data *c, ushort *s, int a, int b, int d)
> +{
> +       return;
> +}
>
>  const struct consw vga_con = {
>         .owner = THIS_MODULE,
>         .con_startup = vgacon_startup,
>         .con_init = vgacon_init,
>         .con_deinit = vgacon_deinit,
> -       .con_clear = DUMMY,
> -       .con_putc = DUMMY,
> -       .con_putcs = DUMMY,
> +       .con_clear = vgacon_clear,
> +       .con_putc = vgacon_putc,
> +       .con_putcs = vgacon_putcs,
>         .con_cursor = vgacon_cursor,
>         .con_scroll = vgacon_scroll,
>         .con_switch = vgacon_switch,
> --
> 2.13.6
>



-- 
Kees Cook
Pixel Security

  reply	other threads:[~2018-03-10 15:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-10  6:40 [PATCH] vgacon: fix function prototypes Joao Moreira
2018-03-10  6:40 ` Joao Moreira
2018-03-10 15:27 ` Kees Cook [this message]
     [not found]   ` <CGME20180312140620epcas1p10db98576017a2e4ef9a6ada74eb5daf0@epcas1p1.samsung.com>
2018-03-12 14:06     ` Bartlomiej Zolnierkiewicz
2018-03-12 14:06       ` Bartlomiej Zolnierkiewicz
2018-03-14 17:03 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGXu5jJBQPPv1jr85wFFKAuLtacMWk+_P-=Yi0UR=E9yJ7nkow@mail.gmail.com' \
    --to=keescook@chromium.org \
    --cc=danielmicay@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jmoreira@suse.de \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.