android_kernel_sony_sdm845/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christian Brauner 68defbc4c8 UPSTREAM: signal: use fdget() since we don't allow O_PATH
As stated in the original commit for pidfd_send_signal() we don't allow
to signal processes through O_PATH file descriptors since it is
semantically equivalent to a write on the pidfd.

We already correctly error out right now and return EBADF if an O_PATH
fd is passed.  This is because we use file->f_op to detect whether a
pidfd is passed and O_PATH fds have their file->f_op set to empty_fops
in do_dentry_open() and thus fail the test.

Thus, there is no regression.  It's just semantically correct to use
fdget() and return an error right from there instead of taking a
reference and returning an error later.

Signed-off-by: Christian Brauner <christian@brauner.io>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jann Horn <jann@thejh.net>
Cc: David Howells <dhowells@redhat.com>
Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: Andy Lutomirsky <luto@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Aleksa Sarai <cyphar@cyphar.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 738a7832d21e3d911fcddab98ce260b79010b461)

Bug: 135608568
Test: test program using syscall(__NR_pidfd_send_signal,..) to send SIGKILL
Change-Id: Id52eaadf9da371fb2d9caae4df49627760de7229
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-09-03 13:44:25 -07:00
..
bpf This is the 4.9.190 stable release 2019-08-25 14:53:01 +02:00
configs ANDROID: add script to fetch android kernel config fragments 2017-10-03 17:19:26 +00:00
debug UPSTREAM: sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD 2019-03-22 14:08:50 -07:00
events This is the 4.9.190 stable release 2019-08-25 14:53:01 +02:00
gcov gcov: support GCC 7.1 2017-09-02 07:07:53 +02:00
irq genirq: Prevent use-after-free and work list corruption 2019-05-10 17:52:10 +02:00
livepatch livepatch/module: make TAINT_LIVEPATCH module-specific 2016-08-26 14:42:08 +02:00
locking locking/lockdep: Hide unused 'class' variable 2019-08-04 09:33:42 +02:00
power This is the 4.9.181 stable release 2019-06-11 14:39:40 +02:00
printk This is the 4.9.137 stable release 2018-11-23 11:11:43 +01:00
rcu rcuperf: Fix cleanup path for invalid perf_type strings 2019-05-31 06:48:30 -07:00
sched This is the 4.9.187 stable release 2019-08-04 09:50:32 +02:00
time This is the 4.9.187 stable release 2019-08-04 09:50:32 +02:00
trace This is the 4.9.188 stable release 2019-08-06 18:45:16 +02:00
.gitignore
acct.c kernel/acct.c: fix the acct->needcheck check in check_free_space() 2018-01-10 09:29:51 +01:00
async.c kernel/async.c: revert "async: simplify lowest_in_progress()" 2018-02-17 13:21:18 +01:00
audit.c audit: return on memory error to avoid null pointer dereference 2018-05-30 07:50:49 +02:00
audit.h Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit 2016-07-29 17:54:17 -07:00
audit_fsnotify.c
audit_tree.c
audit_watch.c audit: fix use-after-free in audit_add_watch 2018-09-26 08:36:37 +02:00
auditfilter.c audit: fix a memory leak bug 2019-05-31 06:48:20 -07:00
auditsc.c audit: allow not equal op for audit by executable 2018-08-03 07:55:25 +02:00
backtracetest.c
bounds.c kbuild: fix kernel/bounds.c 'W=1' warning 2018-11-13 11:16:57 -08:00
capability.c ptrace: Capture the ptracer's creds not PT_PTRACE_CAP 2017-01-06 10:40:13 +01:00
cfi.c ANDROID: cfi: Remove unused variable in ptr_to_check_fn 2019-03-06 18:27:16 +00:00
cgroup.c FROMLIST: psi: introduce psi monitor 2019-03-23 00:29:15 +00:00
cgroup_freezer.c
cgroup_pids.c cgroup/pids: remove spurious suspicious RCU usage warning 2017-03-26 13:05:58 +02:00
compat.c
configs.c
context_tracking.c
cpu.c This is the 4.9.185 stable release 2019-07-10 12:32:12 +02:00
cpu_pm.c
cpuset.c This is the 4.9.55 stable release 2017-10-12 22:31:24 +02:00
crash_dump.c
cred.c access: avoid the RCU grace period for the temporary subjective credentials 2019-08-04 09:33:43 +02:00
delayacct.c BACKPORT: delayacct: track delays from thrashing cache pages 2019-03-22 14:08:39 -07:00
dma.c
elfcore.c
exec_domain.c
exit.c This is the 4.9.155 stable release 2019-02-07 09:14:43 +01:00
extable.c kernel/extable.c: mark core_kernel_text notrace 2017-07-21 07:42:21 +02:00
fork.c This is the 4.9.187 stable release 2019-08-04 09:50:32 +02:00
freezer.c freezer, oom: check TIF_MEMDIE on the correct task 2016-07-28 16:07:41 -07:00
futex.c futex: Ensure that futex address is aligned in handle_futex_death() 2019-03-27 14:13:03 +09:00
futex_compat.c
groups.c kernel: make groups_sort calling a responsibility group_info allocators 2018-01-10 09:29:52 +01:00
hung_task.c kernel: hung_task.c: disable on suspend 2019-04-20 09:07:52 +02:00
irq_work.c
jump_label.c jump_label: Invoke jump_label_test() via early_initcall() 2017-12-14 09:28:24 +01:00
kallsyms.c kallsyms: strip the .cfi postfix from symbols with CONFIG_CFI_CLANG 2018-02-28 15:09:58 -08:00
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c This is the 4.9.117 stable release 2018-08-03 08:50:05 +02:00
kexec.c kexec: allow architectures to override boot mapping 2016-08-02 19:35:27 -04:00
kexec_core.c objtool, x86: Add several functions and files to the objtool whitelist 2018-06-05 10:28:57 +02:00
kexec_file.c kexec: fix double-free when failing to relocate the purgatory 2016-09-01 17:52:01 -07:00
kexec_internal.h
kmod.c
kprobes.c kprobes: Fix error check when reusing optimized probes 2019-04-27 09:34:45 +02:00
ksysfs.c kexec: add a kexec_crash_loaded() function 2016-08-02 19:35:30 -04:00
kthread.c kthread, tracing: Don't expose half-written comm when creating kthreads 2018-08-03 07:55:12 +02:00
latencytop.c
Makefile This is the 4.9.183 stable release 2019-06-22 08:56:18 +02:00
membarrier.c Fix: Disable sys_membarrier when nohz_full is enabled 2017-03-12 06:41:45 +01:00
memremap.c mm, devm_memremap_pages: kill mapping "System RAM" support 2019-01-13 10:03:51 +01:00
module-internal.h
module.c This is the 4.9.188 stable release 2019-08-06 18:45:16 +02:00
module_signing.c
notifier.c
nsproxy.c
padata.c padata: use smp_mb in padata_reorder to avoid orphaned padata jobs 2019-08-04 09:33:28 +02:00
panic.c UPSTREAM: bug: use %pB in BUG and stack protector failure 2019-03-28 21:13:06 -07:00
params.c
pid.c pidns: disable pid allocation if pid_ns_prepare_proc() is failed in alloc_pid() 2018-04-13 19:47:53 +02:00
pid_namespace.c signal/pid_namespace: Fix reboot_pid_ns to use send_sig not force_sig 2019-08-04 09:33:16 +02:00
profile.c profile: Convert to hotplug state machine 2016-07-15 10:41:42 +02:00
ptrace.c ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME 2019-07-10 09:55:45 +02:00
range.c
reboot.c
relay.c kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE 2018-05-30 07:50:29 +02:00
resource.c resource: fix integer overflow at reallocation 2018-04-24 09:34:09 +02:00
seccomp.c seccomp: Move speculation migitation control to arch code 2018-05-22 16:58:02 +02:00
signal.c UPSTREAM: signal: use fdget() since we don't allow O_PATH 2019-09-03 13:44:25 -07:00
smp.c cpu/hotplug: Fix SMT supported evaluation 2018-08-15 18:14:53 +02:00
smpboot.c kthread/smpboot: do not park in kthread_create_on_cpu() 2016-10-11 15:06:33 -07:00
smpboot.h
softirq.c Mark HI and TASKLET softirq synchronous 2018-08-15 18:14:42 +02:00
stacktrace.c stacktrace, lockdep: Fix address, newline ugliness 2017-02-14 15:25:42 -08:00
stop_machine.c stop_machine: Use raw spinlocks 2018-08-03 07:55:24 +02:00
sys.c This is the 4.9.183 stable release 2019-06-22 08:56:18 +02:00
sys_ni.c BACKPORT: signal: add pidfd_send_signal() syscall 2019-09-03 13:43:55 -07:00
sysctl.c This is the 4.9.183 stable release 2019-06-22 08:56:18 +02:00
sysctl_binary.c
task_work.c task_work: use READ_ONCE/lockless_dereference, avoid pi_lock if !task_works 2016-08-02 19:35:02 -04:00
taskstats.c taskstats: fix the length of cgroupstats_cmd_get_policy 2016-11-03 16:55:58 -04:00
test_kprobes.c
torture.c torture: Convert torture_shutdown() to hrtimer 2016-08-22 10:01:49 -07:00
tracepoint.c tracepoint: Do not warn on ENOMEM 2018-05-09 09:50:20 +02:00
tsacct.c
ucount.c kernel/ucount.c: mark user_header with kmemleak_ignore() 2017-06-17 06:41:51 +02:00
uid16.c kernel: make groups_sort calling a responsibility group_info allocators 2018-01-10 09:29:52 +01:00
up.c smp: Add function to execute a function synchronously on a CPU 2016-09-05 13:52:39 +02:00
user-return-notifier.c
user.c ANDROID: proc: Add /proc/uid directory 2018-04-03 11:15:30 -07:00
user_namespace.c userns: move user access out of the mutex 2018-09-09 20:01:24 +02:00
utsname.c Merge branch 'nsfs-ioctls' into HEAD 2016-09-22 20:00:36 -05:00
utsname_sysctl.c sys: don't hold uts_sem while accessing userspace memory 2018-09-09 20:01:24 +02:00
watchdog.c Revert "ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus" 2017-06-27 10:31:16 +02:00
watchdog_hld.c kernel/watchdog: prevent false hardlockup on overloaded system 2017-06-17 06:41:57 +02:00
workqueue.c UPSTREAM: psi: fix aggregation idle shut-off 2019-03-22 14:15:01 -07:00
workqueue_internal.h UPSTREAM: psi: fix aggregation idle shut-off 2019-03-22 14:15:01 -07:00