New issue
Advanced search Search tips

Issue 901557 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

backport SIGSYS support for signalfd

Project Member Reported by smbar...@chromium.org, Nov 3

Issue description

We want to backport

76b7f67   signal/signalfd: Add support for SIGSYS

so we can finally get the syscall number, and signalfd will finally be perfect.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 13

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b66eee2dd90225aafcfb5c98a9c365207a3d4ae2

commit b66eee2dd90225aafcfb5c98a9c365207a3d4ae2
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 13 06:45:38 2018

BACKPORT: signal/signalfd: Add support for SIGSYS

I don't know why signalfd has never grown support for SIGSYS but grow it now.

This corrects an oversight and removes a need for a default in the
switch statement.  Allowing gcc to warn when future members are added
to the enum siginfo_layout, and signalfd does not handle them.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 76b7f670730e87974f71df9f6129811e2769666e)
Signed-off-by: Stephen Barber <smbarber@chromium.org>

 Conflicts:
	fs/signalfd.c Matched style of pre-refactoring signalfd

BUG= chromium:901557 
TEST=kernel compiles

Change-Id: Ib7981f17e4f29de738d91d2b1cbc4e74f2d239a9
Reviewed-on: https://chromium-review.googlesource.com/1324614
Commit-Ready: Stephen Barber <smbarber@chromium.org>
Tested-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/b66eee2dd90225aafcfb5c98a9c365207a3d4ae2/fs/signalfd.c
[modify] https://crrev.com/b66eee2dd90225aafcfb5c98a9c365207a3d4ae2/include/uapi/linux/signalfd.h

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 17

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/94ed17fea6a5461be51020da0cb5e7ae6ddb7cdc

commit 94ed17fea6a5461be51020da0cb5e7ae6ddb7cdc
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Sat Nov 17 13:25:10 2018

BACKPORT: signal/signalfd: Add support for SIGSYS

I don't know why signalfd has never grown support for SIGSYS but grow it now.

This corrects an oversight and removes a need for a default in the
switch statement.  Allowing gcc to warn when future members are added
to the enum siginfo_layout, and signalfd does not handle them.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 76b7f670730e87974f71df9f6129811e2769666e)
Signed-off-by: Stephen Barber <smbarber@chromium.org>

 Conflicts:
	fs/signalfd.c Matched style of pre-refactoring signalfd

BUG= chromium:901557 
TEST=kernel compiles

Change-Id: I8cfb0b17f9d3b98dd63fa6f019c40cc01c56dc80
Reviewed-on: https://chromium-review.googlesource.com/1324613
Commit-Ready: Stephen Barber <smbarber@chromium.org>
Tested-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/94ed17fea6a5461be51020da0cb5e7ae6ddb7cdc/fs/signalfd.c
[modify] https://crrev.com/94ed17fea6a5461be51020da0cb5e7ae6ddb7cdc/include/uapi/linux/signalfd.h

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 18

Labels: merge-merged-chromeos-4.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/af510cb12d269fbe7ba5f7abdc7f83d6adfed531

commit af510cb12d269fbe7ba5f7abdc7f83d6adfed531
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Sun Nov 18 00:41:44 2018

BACKPORT: signal/signalfd: Add support for SIGSYS

I don't know why signalfd has never grown support for SIGSYS but grow it now.

This corrects an oversight and removes a need for a default in the
switch statement.  Allowing gcc to warn when future members are added
to the enum siginfo_layout, and signalfd does not handle them.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 76b7f670730e87974f71df9f6129811e2769666e)
Signed-off-by: Stephen Barber <smbarber@chromium.org>

 Conflicts:
	fs/signalfd.c Matched style of pre-refactoring signalfd

BUG= chromium:901557 
TEST=kernel compiles

Change-Id: I8cfb0b17f9d3b98dd63fa6f019c40cc01c56dc80
Reviewed-on: https://chromium-review.googlesource.com/1332868
Commit-Ready: Stephen Barber <smbarber@chromium.org>
Tested-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/af510cb12d269fbe7ba5f7abdc7f83d6adfed531/fs/signalfd.c
[modify] https://crrev.com/af510cb12d269fbe7ba5f7abdc7f83d6adfed531/include/uapi/linux/signalfd.h

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/34f1393838c03bb667d840f475b4d51e17e1790a

commit 34f1393838c03bb667d840f475b4d51e17e1790a
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 20 22:15:13 2018

UPSTREAM: ia64/signal: switch to generic struct siginfo

... at a cost of added small ifdef __ia64__ in asm-generic siginfo.h,
that is.

-- EWB Corrected the comment on _flags to reflect the move

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 2eb50e2e9f624b1ce7263c51920a7871ae7e926f)

BUG= chromium:901557 
TEST=Build

Change-Id: Iffc8493fe3044976b824c155e06b949e396dfdc7
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342578
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/34f1393838c03bb667d840f475b4d51e17e1790a/include/uapi/asm-generic/siginfo.h
[modify] https://crrev.com/34f1393838c03bb667d840f475b4d51e17e1790a/arch/ia64/include/uapi/asm/siginfo.h

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/52a97ba77092e55165b76fd5ea37dd6e273b210d

commit 52a97ba77092e55165b76fd5ea37dd6e273b210d
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 20 22:15:15 2018

UPSTREAM: signal/ia64: switch the last arch-specific copy_siginfo_to_user() to generic version

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 30073566ca64cbc005f4fbcc21f0af7db83940a2)

BUG= chromium:901557 
TEST=Build

Change-Id: I06a93fa55775f805d357089e17def89d0203e310
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342579
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/52a97ba77092e55165b76fd5ea37dd6e273b210d/kernel/signal.c
[modify] https://crrev.com/52a97ba77092e55165b76fd5ea37dd6e273b210d/arch/ia64/kernel/signal.c
[modify] https://crrev.com/52a97ba77092e55165b76fd5ea37dd6e273b210d/arch/ia64/include/uapi/asm/siginfo.h

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6dd5f31f46d1eedb8f1d2d8b9012f0b31684519d

commit 6dd5f31f46d1eedb8f1d2d8b9012f0b31684519d
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 20 22:15:16 2018

UPSTREAM: signal/ia64: Move the ia64 specific si_codes to asm-generic/siginfo.h

Having si_codes in many different files simply encourages duplicate
definitions that can cause problems later.  To avoid that merge the
ia64 specific si_codes into uapi/asm-generic/siginfo.h

Update the sanity checks in arch/x86/kernel/signal_compat.c to expect
the now lager NSIGILL and NSIGFPE.  As nothing excpe the larger count
is exposed on x86 no additional code needs to be updated.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit ac54058d778b766dbdf576f5e30122652378ae98)

BUG= chromium:901557 
TEST=Build

Change-Id: I7862db8b7452df984e1e65514a78ee6864168d32
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342580
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/6dd5f31f46d1eedb8f1d2d8b9012f0b31684519d/include/uapi/asm-generic/siginfo.h
[modify] https://crrev.com/6dd5f31f46d1eedb8f1d2d8b9012f0b31684519d/arch/ia64/include/uapi/asm/siginfo.h
[modify] https://crrev.com/6dd5f31f46d1eedb8f1d2d8b9012f0b31684519d/arch/x86/kernel/signal_compat.c

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e1b1a4e46f72508d491d3f4608a9dd62e66be835

commit e1b1a4e46f72508d491d3f4608a9dd62e66be835
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 20 22:15:18 2018

UPSTREAM: signal/ia64: Replace FPE_FIXME with FPE_FLTUNK

Using an si_code of 0 that aliases with SI_USER is clearly the wrong
thing todo, and causes problems in interesting ways.

The newly defined FPE_FLTUNK semantically appears to fit the bill so
use it instead.

Given recent experience in this area odds are it will not
break anything.  Fixing it removes a hazard to kernel maintenance.

Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64@vger.kernel.org
Fixes: 987159266c45 ("Linux version 2.3.48")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 51dd709fee9479bf9a104b3562dadff3094b2f0d)

BUG= chromium:901557 
TEST=Build

Change-Id: I4a11156ff683fb10e97b6c890b53f6c6068b2dc1
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342581
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/e1b1a4e46f72508d491d3f4608a9dd62e66be835/arch/ia64/kernel/traps.c
[modify] https://crrev.com/e1b1a4e46f72508d491d3f4608a9dd62e66be835/arch/ia64/include/uapi/asm/siginfo.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e253b01f81a206457722e6b344659fced2c07516

commit e253b01f81a206457722e6b344659fced2c07516
Author: Al Viro <viro@zeniv.linux.org.uk>
Date: Tue Nov 20 22:15:19 2018

UPSTREAM: signal/mips: switch mips to generic siginfo

... having taught the latter that si_errno and si_code might be
swapped.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
(cherry picked from commit 09d1415d2454dbcd7cb2fc0b56da8afba8d03dc6)

BUG= chromium:901557 
TEST=Build

Change-Id: I1c1289b8aead236a50ebca5db58283b75998e7da
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342582
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/e253b01f81a206457722e6b344659fced2c07516/include/uapi/asm-generic/siginfo.h
[modify] https://crrev.com/e253b01f81a206457722e6b344659fced2c07516/arch/mips/include/uapi/asm/siginfo.h

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/17b685f208f7933df15200b36c313d5b937a3909

commit 17b685f208f7933df15200b36c313d5b937a3909
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Nov 20 22:15:21 2018

UPSTREAM: signal: Remove unnecessary ifdefs now that there is only one struct siginfo

Remove HAVE_ARCH_SIGINFO_T
Remove __ARCH_SIGSYS

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
(cherry picked from commit 0326e7ef057d214ed43a77557078c24e98b84af9)

BUG= chromium:901557 
TEST=Build

Change-Id: I7b3887ce1726a9eba007f8d5e8ed700c3fa88491
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342583
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/17b685f208f7933df15200b36c313d5b937a3909/include/linux/signal.h
[modify] https://crrev.com/17b685f208f7933df15200b36c313d5b937a3909/kernel/signal.c
[modify] https://crrev.com/17b685f208f7933df15200b36c313d5b937a3909/include/uapi/asm-generic/siginfo.h

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9b1271a83f05280be65d57e2976494b865d34da1

commit 9b1271a83f05280be65d57e2976494b865d34da1
Author: Guenter Roeck <groeck@chromium.org>
Date: Wed Nov 21 02:27:32 2018

FIXUP: BACKPORT: signal/signalfd: Add support for SIGSYS

In v4.4.y, SIGSYS is only supported if __ARCH_SIGSYS is defined.
Otherwise, we get a build error.

fs/signalfd.c: In function 'signalfd_copyinfo':
fs/signalfd.c:146:33: error: 'siginfo_t' has no member named 'si_call_addr'

BUG= chromium:901557 
TEST=kernel compiles for test builds

Change-Id: I315455063033ed4b8d96ba3c11e6e065a77746d6
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1342877
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/9b1271a83f05280be65d57e2976494b865d34da1/fs/signalfd.c

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/feca27593288a120b5d02bd7d1a28f883e754d1f

commit feca27593288a120b5d02bd7d1a28f883e754d1f
Author: Guenter Roeck <groeck@chromium.org>
Date: Fri Nov 23 03:07:53 2018

Revert "UPSTREAM: signal/ia64: Replace FPE_FIXME with FPE_FLTUNK"

This reverts commit e1b1a4e46f72508d491d3f4608a9dd62e66be835.

Reason for revert: This doesn't work. FPE_FLTUNK does not exist in v4.14.y.

Original change's description:
> UPSTREAM: signal/ia64: Replace FPE_FIXME with FPE_FLTUNK
>
> Using an si_code of 0 that aliases with SI_USER is clearly the wrong
> thing todo, and causes problems in interesting ways.
>
> The newly defined FPE_FLTUNK semantically appears to fit the bill so
> use it instead.
>
> Given recent experience in this area odds are it will not
> break anything.  Fixing it removes a hazard to kernel maintenance.
>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Fenghua Yu <fenghua.yu@intel.com>
> Cc: linux-ia64@vger.kernel.org
> Fixes: 987159266c45 ("Linux version 2.3.48")
> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
> (cherry picked from commit 51dd709fee9479bf9a104b3562dadff3094b2f0d)
>
> BUG= chromium:901557 
> TEST=Build
>
> Change-Id: I4a11156ff683fb10e97b6c890b53f6c6068b2dc1
> Signed-off-by: Guenter Roeck <groeck@chromium.org>
> Reviewed-on: https://chromium-review.googlesource.com/1342581
> Reviewed-by: Stephen Barber <smbarber@chromium.org>

Bug:  chromium:901557 
Change-Id: Ie6dcaf6218b7720f20d96cbc0c2e4a86edb8b802
Reviewed-on: https://chromium-review.googlesource.com/1347049
Commit-Ready: Guenter Roeck <groeck@chromium.org>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/feca27593288a120b5d02bd7d1a28f883e754d1f/arch/ia64/kernel/traps.c
[modify] https://crrev.com/feca27593288a120b5d02bd7d1a28f883e754d1f/arch/ia64/include/uapi/asm/siginfo.h

Status: Fixed (was: Assigned)

Sign in to add a comment