Files
linux/arch/parisc/include/asm
Helge Deller dbd0b42350 parisc: Fix some apparent put_user() failures
After commit 4b9d2a731c ("parisc: Switch user access functions
to signal errors in r29 instead of r8") bash suddenly started
to report those warnings after login:

-bash: cannot set terminal process group (-1): Bad file descriptor
-bash: no job control in this shell

It turned out, that a function call inside a put_user(), e.g.:
put_user(vt_do_kdgkbmode(console), (int __user *)arg);
clobbered the error register (r29) and thus the put_user() call itself
seem to have failed.

Rearrange the C-code to pre-calculate the intermediate value
and then do the put_user().
Additionally prefer the "+" constraint on pu_err and gu_err registers
to tell the compiler that those operands are both read and written by
the assembly instruction.

Reported-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Fixes: 4b9d2a731c ("parisc: Switch user access functions to signal errors in r29 instead of r8")
Signed-off-by: Helge Deller <deller@gmx.de>
2022-02-14 12:36:42 +01:00
..
2022-01-07 01:29:20 +01:00
2021-11-17 10:36:15 -05:00
2021-09-08 15:32:35 -07:00
2019-09-08 15:37:04 +02:00
2019-05-03 23:47:41 +02:00
2021-10-30 23:11:00 +02:00
2019-05-03 23:47:38 +02:00
2019-07-21 11:01:55 +02:00
2019-02-21 20:37:12 +01:00
2019-06-25 14:52:26 +02:00
2019-07-16 19:23:24 -07:00
2019-05-03 23:47:41 +02:00
2017-11-17 15:27:22 +01:00
2019-07-17 23:11:28 +02:00