From: Petr Vorel <pvorel@suse.cz>
To: Teo Couprie Diaz <teo.coupriediaz@arm.com>
Cc: ltp@lists.linux.it, Richard Palethorpe <rpalethorpe@suse.com>
Subject: Re: [LTP] [PATCH] cve-2015-3290: Fix tst_syscall() return value
Date: Wed, 15 Feb 2023 16:57:43 +0100 [thread overview]
Message-ID: <Y+0A96W9OlFk3oM5@pevik> (raw)
In-Reply-To: <abf5eb48-d63d-1b5f-4047-1a8c210a48a1@arm.com>
> Hi all,
> On 15/02/2023 15:20, Petr Vorel wrote:
> > Hi all,
> > > The modify_ldt() syscall returns 32-bit signed integer value. Recent changes
> > > in tst_syscall() caused the value to be interpreted as unsigned on older
> > > kernels/glibc, which breaks the cve-2015-3290 test. Add explicit type cast
> > > to fix it.
> > Reviewed-by: Petr Vorel <pvorel@suse.cz>
> > This is caused by e5d2a05a9 ("regen.sh: Use intptr_t for tst_syscall return")
> > which changed returning tst_ret from int to intptr_t (which is also int for 32
> > bit archs, but long for 64 bit archs). This commit is also needed, thus I don't
> > suggest to revert it, but I wonder how many other tests it broke.
> I sent the tst_syscall return patch. I did some testing with what systems I
> had available when working on it and, at the time, didn't see any
> regressions,
> including for cve-2015-3290.
> However this was with fairly recent kernels and libcs, and according to
> Martin
> the test failed for them on an older combination.
FYI I was able to reproduce it on VM with SLE15-SP2 kernel (based on 5.3.18,
with many patches) and glibc 2.26-13.62.1 (obviously older supported systems are
also affected). Hopefully that's all (need to check).
Kind regards,
Petr
> I shared the test suite[0] I tested the patch with, containing all the uses
> I found.
> It might be worthwhile to run it on a system where we now know one of the
> tests
> was affected ? Hopefully, none more, but having a result would be better.
> Best regards,
> Téo
> [0]: https://lists.linux.it/pipermail/ltp/2022-November/031640.html
> > Kind regards,
> > Petr
> > > Signed-off-by: Martin Doucha <mdoucha@suse.cz>
> > > ---
> > > testcases/cve/cve-2015-3290.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > > diff --git a/testcases/cve/cve-2015-3290.c b/testcases/cve/cve-2015-3290.c
> > > index f61d2809b..a2a8fcedd 100644
> > > --- a/testcases/cve/cve-2015-3290.c
> > > +++ b/testcases/cve/cve-2015-3290.c
> > > @@ -195,7 +195,8 @@ static void set_ldt(void)
> > > .useable = 0
> > > };
> > > - TEST(tst_syscall(__NR_modify_ldt, 1, &data_desc, sizeof(data_desc)));
> > > + TEST((int)tst_syscall(__NR_modify_ldt, 1, &data_desc,
> > > + sizeof(data_desc)));
> > > if (TST_RET == -EINVAL) {
> > > tst_brk(TCONF | TRERRNO,
> > > "modify_ldt: 16-bit data segments are probably disabled");
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2023-02-15 15:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-15 14:42 [LTP] [PATCH] cve-2015-3290: Fix tst_syscall() return value Martin Doucha
2023-02-15 15:20 ` Petr Vorel
2023-02-15 15:34 ` Teo Couprie Diaz
2023-02-15 15:51 ` Martin Doucha
2023-02-15 15:57 ` Petr Vorel [this message]
2023-02-16 10:12 ` Richard Palethorpe
2023-02-16 9:24 ` Richard Palethorpe
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=Y+0A96W9OlFk3oM5@pevik \
--to=pvorel@suse.cz \
--cc=ltp@lists.linux.it \
--cc=rpalethorpe@suse.com \
--cc=teo.coupriediaz@arm.com \
/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.