From: "René Scharfe" <l.s.r@web.de> To: "Carlo Marcelo Arenas Belón" <carenas@gmail.com>, git@vger.kernel.org Cc: avarab@gmail.com, sandals@crustytoothpaste.net, gitster@pobox.com, dev+git@drbeat.li, Johannes.Schindelin@gmx.de Subject: Re: [RFC PATCH v2] grep: allow for run time disabling of JIT in PCRE Date: Mon, 29 Jul 2019 17:11:19 +0200 Message-ID: <2f9cc063-96fc-dc99-0e29-230f1e12c1d3@web.de> (raw) In-Reply-To: <20190729105955.44390-1-carenas@gmail.com> Am 29.07.19 um 12:59 schrieb Carlo Marcelo Arenas Belón: > PCRE1 allowed for a compile time flag to disable JIT, but PCRE2 never > had one, forcing the use of JIT if -P was requested. > > After ed0479ce3d (Merge branch 'ab/no-kwset' into next, 2019-07-15) > the PCRE2 engine will be used more broadly and therefore adding this > knob will allow users a escape from situations where JIT might be > problematic. > > JIT will be used by default but it can be disabled with the --no-pcre-jit > option in `git grep` or by setting 0/false into the pcre.jit config. > > If a value of -1 is used instead then the following error is prevented by > using the interpreter when a JIT failure consistent with known security > restrictions is found at regex compilation time. > > $ git grep 'foo bar' > fatal: Couldn't JIT the PCRE2 pattern 'foo bar', got '-48' > > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> > --- > V2: add command line to grep as suggested by Junio > > Documentation/git-grep.txt | 11 +++++++++++ > builtin/grep.c | 4 ++++ > grep.c | 30 ++++++++++++++++++++++++++---- > grep.h | 1 + > 4 files changed, 42 insertions(+), 4 deletions(-) > > diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt > index c89fb569e3..895c6b34ec 100644 > --- a/Documentation/git-grep.txt > +++ b/Documentation/git-grep.txt > @@ -13,6 +13,7 @@ SYNOPSIS > [-v | --invert-match] [-h|-H] [--full-name] > [-E | --extended-regexp] [-G | --basic-regexp] > [-P | --perl-regexp] > + [-j | --[no]-pcre-jit] Do users care? Enough so to add a short option for this? > [-F | --fixed-strings] [-n | --line-number] [--column] > [-l | --files-with-matches] [-L | --files-without-match] > [(-O | --open-files-in-pager) [<pager>]] > @@ -69,6 +70,12 @@ grep.fallbackToNoIndex:: > If set to true, fall back to git grep --no-index if git grep > is executed outside of a git repository. Defaults to false. > > +pcre.jit:: > + If set to false, disable JIT when using PCRE. Defaults to > + true. > + if set to -1 will try first to use JIT and fallback to the > + interpreter instead of returning an error. Why not implement only -1, without adding this config setting? > + > > OPTIONS > ------- > @@ -175,6 +182,10 @@ providing this option will cause it to die. > Use fixed strings for patterns (don't interpret pattern > as a regex). > > +-j:: > +--[no-]pcre-jit:: > + Diable JIT in PCRE with --no-pcre-jit. "Disable". René
next prev parent reply other threads:[~2019-07-29 15:11 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-28 23:54 [RFC PATCH] " Carlo Marcelo Arenas Belón 2019-07-29 0:09 ` Carlo Arenas 2019-07-29 4:57 ` Junio C Hamano 2019-07-29 5:29 ` Carlo Arenas 2019-07-29 8:55 ` Ævar Arnfjörð Bjarmason 2019-07-29 10:26 ` Carlo Arenas 2019-07-29 12:38 ` Ævar Arnfjörð Bjarmason 2019-07-30 13:01 ` Carlo Arenas 2019-07-29 10:59 ` [RFC PATCH v2] " Carlo Marcelo Arenas Belón 2019-07-29 11:33 ` Carlo Arenas 2019-07-29 15:11 ` René Scharfe [this message] 2019-07-29 17:47 ` Junio C Hamano 2019-07-30 0:49 ` Carlo Arenas 2019-07-30 17:55 ` René Scharfe 2019-07-31 12:36 ` Johannes Schindelin 2019-07-31 16:18 ` Junio C Hamano 2019-07-31 12:32 ` Johannes Schindelin 2019-07-31 14:57 ` Ævar Arnfjörð Bjarmason 2019-08-04 0:25 ` Carlo Arenas 2019-08-04 3:14 ` [RFC PATCH v3] grep: treat PCRE2 jit compilation memory error as non fatal Carlo Marcelo Arenas Belón 2019-08-04 7:43 ` Carlo Arenas 2019-08-05 20:16 ` Junio C Hamano 2019-07-31 12:24 ` [RFC PATCH] grep: allow for run time disabling of JIT in PCRE Johannes Schindelin
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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=2f9cc063-96fc-dc99-0e29-230f1e12c1d3@web.de \ --to=l.s.r@web.de \ --cc=Johannes.Schindelin@gmx.de \ --cc=avarab@gmail.com \ --cc=carenas@gmail.com \ --cc=dev+git@drbeat.li \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=sandals@crustytoothpaste.net \ /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
git@vger.kernel.org list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for the project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git