History

signal: check sig before setting info in kill_pid_usb_asyncio

In kill_pid_usb_asyncio, if signal is not valid, we do not need to set info struct.

Zhiqiang Liu committed 6 years ago

Commit eaec2b01 parent 8f3d9f31 file · +3 −3Browse files

Showing the changes to kernel (1 of 1 file). Show all

Unified · Split

kernel/signal.c+3−3
@@ -1510,15 +1510,15 @@ int kill_pid_usb_asyncio(int sig, int errno, sigval_t addr, · 1509 unmodified lines
1510 unsigned long flags;1510 unsigned long flags;
1511 int ret = -EINVAL;1511 int ret = -EINVAL;
1512 1512
1513 if (!valid_signal(sig))
1514 return ret;
1515
1513 clear_siginfo(&info);1516 clear_siginfo(&info);
1514 info.si_signo = sig;1517 info.si_signo = sig;
1515 info.si_errno = errno;1518 info.si_errno = errno;
1516 info.si_code = SI_ASYNCIO;1519 info.si_code = SI_ASYNCIO;
1517 *((sigval_t *)&info.si_pid) = addr;1520 *((sigval_t *)&info.si_pid) = addr;
1518 1521
1519 if (!valid_signal(sig))
1520 return ret;
1521
1522 rcu_read_lock();1522 rcu_read_lock();
1523 p = pid_task(pid, PIDTYPE_PID);1523 p = pid_task(pid, PIDTYPE_PID);
1524 if (!p) {1524 if (!p) {