lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJFTR8Txd-6-=5RSoHhgg1a6mr4rEAUv2Ta1F5OLsC3NC4U-Sw@mail.gmail.com>
Date:   Sat, 1 Jul 2023 00:08:51 -0400
From:   Jesse T <mr.bossman075@...il.com>
To:     Masahiro Yamada <masahiroy@...nel.org>
Cc:     linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] kconfig: menuconfig: remove jump_key::index

On Thu, Jun 29, 2023 at 12:03 PM Masahiro Yamada <masahiroy@...nel.org> wrote:
>
> You do not need to remember the index of each jump key because you can
> count it up after a key is pressed.
>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> ---
>
>  scripts/kconfig/expr.h  | 1 -
>  scripts/kconfig/mconf.c | 7 ++++---
>  scripts/kconfig/menu.c  | 8 --------
>  3 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
> index 9c9caca5bd5f..4a9a23b1b7e1 100644
> --- a/scripts/kconfig/expr.h
> +++ b/scripts/kconfig/expr.h
> @@ -275,7 +275,6 @@ struct jump_key {
>         struct list_head entries;
>         size_t offset;
>         struct menu *target;
> -       int index;
>  };
>
>  extern struct file *file_list;
> diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
> index 7adfd6537279..fcb91d69c774 100644
> --- a/scripts/kconfig/mconf.c
> +++ b/scripts/kconfig/mconf.c
> @@ -22,8 +22,6 @@
>  #include "lkc.h"
>  #include "lxdialog/dialog.h"
>
> -#define JUMP_NB                        9
> -
>  static const char mconf_readme[] =
>  "Overview\n"
>  "--------\n"
> @@ -399,6 +397,7 @@ static int handle_search_keys(int key, int start, int end, void *_data)
>  {
>         struct search_data *data = _data;
>         struct jump_key *pos;
> +       int index = '1';
>
>         if (key < '1' || key > '9')
>                 return 0;
> @@ -408,11 +407,13 @@ static int handle_search_keys(int key, int start, int end, void *_data)
>                         if (pos->offset >= end)
>                                 break;
>
> -                       if (key == '1' + (pos->index % JUMP_NB)) {
> +                       if (key == index) {
>                                 data->target = pos->target;
>                                 return 1;
>                         }
>                 }
> +
> +               index = next_key(index);
>         }
>
>         return 0;
> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
> index 5578b8bc8a23..198eb1367e7a 100644
> --- a/scripts/kconfig/menu.c
> +++ b/scripts/kconfig/menu.c
> @@ -735,15 +735,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
>         }
>         if (head && location) {
>                 jump = xmalloc(sizeof(struct jump_key));
> -
>                 jump->target = location;
> -
> -               if (list_empty(head))
> -                       jump->index = 0;
> -               else
> -                       jump->index = list_entry(head->prev, struct jump_key,
> -                                                entries)->index + 1;
> -
>                 list_add_tail(&jump->entries, head);
>         }
>
> --
> 2.39.2
>

Looks good!
Reviewed-by: Jesse Taube <Mr.Bossman075@...il.com>

One slight off-topic question.
The names of the menu-based config programs have names similar to their
corresponding file gconfig ('gconf'), xconfig ('qconf'), menuconfig ('mconf'),
and nconfig ('nconf'). The only exceptions to this one-letter naming are mconfig
is not memuconfig and qconfig isn't xconfig. Would it be possible to
add an alias
to fix this?

Side-side note config isn't in the docs.

Thanks,
Jesse Taube

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ