tree 5d24e76715e76265ced644dbc4cc2f1f97df7ee2
parent 44ec8268aa4ea70c4a692495f9bd48c31ce1d66a
parent 82dddebfe7da9d2670977ab723da2fdac3eff5b0
author Greg Kroah-Hartman <gregkh@google.com> 1590591307 +0200
committer Greg Kroah-Hartman <gregkh@google.com> 1590591307 +0200
mergetag object 82dddebfe7da9d2670977ab723da2fdac3eff5b0
 type commit
 tag v4.9.225
 tagger Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1590590523 +0200
 
 This is the 4.9.225 stable release
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl7OfDsACgkQONu9yGCS
 aT4orA//ZglgJ3yQB+I43p41eMjTuiZZ0EeRuAA9m5K4D9rfDaZtxCb4VjeO2HD1
 RH8Ztwi1AjByeQ3rHCI+maGcq+WGBdEzsAgAlwCHc6TxXlQq+WJDUNHLQNQ/wE9r
 30Pl4JEM65w1CSYYgKUXQWjexgCUy94QnmnqIA3wh1ThoT3OMMA/E4ZKcxuJc442
 TX+IlMjcud/x52kMgNbGPhMX6ut3WoXuEQUB5v2VhBNJE3Mo3uUzIu4i+GUIsjuu
 zTZ56blVcV3r88XXiD9vrJGfzwq9AGY7RYe7BiTnAOZWpo2nUlPSKdTkLErrKBnG
 KBGqU5+Mr+WjmBpDH14WQVb76fCTV2kaP7sPZguYia3iUdKNaUje04uQYqipxe0G
 N2SCAf/eGxleA/NKisSxGZVMR5UKzykvphhw3lIYTvfGr9vj+AH80W/OP0edjL7R
 wUwfAxL9K8BbHr47qWYkWUKZPEGsHZ1UHf7eTSZLNxRLr3nH6QJ9fQgXgPjeJbhU
 7UUr1xfgxoL3s1HrE9ocK0lwLSO/ztcYcd+M7h85YTqHL6ZYTjyVwuqCzuup69Uz
 XLvWvm+R+MjcPencaZX+diHrwlo2feKz5ksou3xzThRQVmMo+x8Xup5oqYplitF5
 IRdIjeMHSi9TteS+qaXQouBI7Yhw50Angzv6w+SKFieMftT46/c=
 =+Fc9
 -----END PGP SIGNATURE-----

Merge 4.9.225 into android-4.9-o

Changes in 4.9.225
	igb: use igb_adapter->io_addr instead of e1000_hw->hw_addr
	padata: Remove unused but set variables
	padata: get_next is never NULL
	padata: ensure the reorder timer callback runs on the correct CPU
	padata: ensure padata_do_serial() runs on the correct CPU
	evm: Check also if *tfm is an error pointer in init_desc()
	ima: Fix return value of ima_write_policy()
	fix multiplication overflow in copy_fdtable()
	iommu/amd: Fix over-read of ACPI UID from IVRS table
	i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()'
	gcc-common.h: Update for GCC 10
	HID: multitouch: add eGalaxTouch P80H84 support
	configfs: fix config_item refcnt leak in configfs_rmdir()
	component: Silence bind error on -EPROBE_DEFER
	gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp()
	ceph: fix double unlock in handle_cap_export()
	USB: core: Fix misleading driver bug report
	platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
	ARM: futex: Address build warning
	i2c: dev: Fix the race between the release of i2c_dev and cdev
	padata: set cpu_index of unused CPUs to -1
	padata: Replace delayed timer with immediate workqueue in padata_reorder
	padata: initialize pd->cpu with effective cpumask
	padata: purge get_cpu and reorder_via_wq from padata_do_serial
	arm64: fix the flush_icache_range arguments in machine_kexec
	watchdog: Fix the race between the release of watchdog_core_data and cdev
	net: l2tp: export debug flags to UAPI
	net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_*
	net: l2tp: ppp: change PPPOL2TP_MSG_* => L2TP_MSG_*
	New kernel function to get IP overhead on a socket.
	L2TP:Adjust intf MTU, add underlay L3, L2 hdrs.
	l2tp: remove useless duplicate session detection in l2tp_netlink
	l2tp: remove l2tp_session_find()
	l2tp: define parameters of l2tp_session_get*() as "const"
	l2tp: define parameters of l2tp_tunnel_find*() as "const"
	l2tp: initialise session's refcount before making it reachable
	l2tp: hold tunnel while looking up sessions in l2tp_netlink
	l2tp: hold tunnel while processing genl delete command
	l2tp: hold tunnel while handling genl tunnel updates
	l2tp: hold tunnel while handling genl TUNNEL_GET commands
	l2tp: hold tunnel used while creating sessions with netlink
	l2tp: prevent creation of sessions on terminated tunnels
	l2tp: pass tunnel pointer to ->session_create()
	l2tp: fix l2tp_eth module loading
	l2tp: don't register sessions in l2tp_session_create()
	l2tp: initialise l2tp_eth sessions before registering them
	l2tp: protect sock pointer of struct pppol2tp_session with RCU
	l2tp: initialise PPP sessions before registering them
	ALSA: pcm: fix incorrect hw_base increase
	dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()'
	l2tp: device MTU setup, tunnel socket needs a lock
	x86/uaccess, ubsan: Fix UBSAN vs. SMAP
	ubsan: build ubsan.c more conservatively
	platform/x86: alienware-wmi: fix kfree on potentially uninitialized pointer
	libnvdimm/btt: Remove unnecessary code in btt_freelist_init
	cxgb4: free mac_hlist properly
	cxgb4/cxgb4vf: Fix mac_hlist initialization and free
	Revert "gfs2: Don't demote a glock until its revokes are written"
	staging: iio: ad2s1210: Fix SPI reading
	staging: greybus: Fix uninitialized scalar variable
	iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
	mei: release me_cl object reference
	rapidio: fix an error in get_user_pages_fast() error handling
	iio: sca3000: Remove an erroneous 'get_device()'
	Linux 4.9.225

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I32f2c1ea4abfca8c75123f7607931db913d08a8c
