tree 5cb56bd3ca47f362367a242f99abd413211c0912
parent c74386d50fbaf4a54fd3fe560f1abc709c0cff4b
parent 9e77716a75bc6cf54965e5ec069ba7c02b32251c
author Linus Torvalds <torvalds@linux-foundation.org> 1574365909 -0800
committer Linus Torvalds <torvalds@linux-foundation.org> 1574365909 -0800
mergetag object 9e77716a75bc6cf54965e5ec069ba7c02b32251c
 type commit
 tag for-linus-2019-11-21
 tagger Christian Brauner <christian.brauner@ubuntu.com> 1574335753 +0100
 
 for-linus-2019-11-21
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCXdZ1DwAKCRCRxhvAZXjc
 orgYAP4k65bWhN5w3Qm60Wf+azD/mcDknhIhjsu3d0B4RnIfuwD8CytoLMgwLDm0
 ZWbFscczIO3iv3KYuZEnC6j5PgyPtAs=
 =r8Sd
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-2019-11-21' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux

Pull pidfd fixlet from Christian Brauner:
 "This contains a simple fix for the pidfd poll method. In the original
  patchset pidfd_poll() was made to return an unsigned int. However, the
  poll method is defined to return a __poll_t. While the unsigned int is
  not a huge deal it's just nicer to return a __poll_t.

  I've decided to send it right before the 5.4 release mainly so that
  stable doesn't need to backport it to both 5.4 and 5.3"

* tag 'for-linus-2019-11-21' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
  fork: fix pidfd_poll()'s return type
