Florian Fainelli
9fb20801da
net: Fix ip_mc_{dec,inc}_group allocation context
...
After 4effd28c12 ("bridge: join all-snoopers multicast address"), I
started seeing the following sleep in atomic warnings:
[ 26.763893] BUG: sleeping function called from invalid context at mm/slab.h:421
[ 26.771425] in_atomic(): 1, irqs_disabled(): 0, pid: 1658, name: sh
[ 26.777855] INFO: lockdep is turned off.
[ 26.781916] CPU: 0 PID: 1658 Comm: sh Not tainted 5.0.0-rc4 #20
[ 26.787943] Hardware name: BCM97278SV (DT)
[ 26.792118] Call trace:
[ 26.794645] dump_backtrace+0x0/0x170
[ 26.798391] show_stack+0x24/0x30
[ 26.801787] dump_stack+0xa4/0xe4
[ 26.805182] ___might_sleep+0x208/0x218
[ 26.809102] __might_sleep+0x78/0x88
[ 26.812762] kmem_cache_alloc_trace+0x64/0x28c
[ 26.817301] igmp_group_dropped+0x150/0x230
[ 26.821573] ip_mc_dec_group+0x1b0/0x1f8
[ 26.825585] br_ip4_multicast_leave_snoopers.isra.11+0x174/0x190
[ 26.831704] br_multicast_toggle+0x78/0xcc
[ 26.835887] store_bridge_parm+0xc4/0xfc
[ 26.839894] multicast_snooping_store+0x3c/0x4c
[ 26.844517] dev_attr_store+0x44/0x5c
[ 26.848262] sysfs_kf_write+0x50/0x68
[ 26.852006] kernfs_fop_write+0x14c/0x1b4
[ 26.856102] __vfs_write+0x60/0x190
[ 26.859668] vfs_write+0xc8/0x168
[ 26.863059] ksys_write+0x70/0xc8
[ 26.866449] __arm64_sys_write+0x24/0x30
[ 26.870458] el0_svc_common+0xa0/0x11c
[ 26.874291] el0_svc_handler+0x38/0x70
[ 26.878120] el0_svc+0x8/0xc
while toggling the bridge's multicast_snooping attribute dynamically.
Pass a gfp_t down to igmpv3_add_delrec(), introduce
__igmp_group_dropped() and introduce __ip_mc_dec_group() to take a gfp_t
argument.
Similarly introduce ____ip_mc_inc_group() and __ip_mc_inc_group() to
allow caller to specify gfp_t.
IPv6 part of the patch appears fine.
Fixes: 4effd28c12 ("bridge: join all-snoopers multicast address")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-02-03 12:11:12 -08:00
arch
sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW
2019-02-03 11:17:31 -08:00
block
Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED"
2019-01-27 06:35:28 -07:00
certs
kbuild: remove redundant target cleaning on failure
2019-01-06 09:46:51 +09:00
crypto
crypto: sm3 - fix undefined shift by >= width of value
2019-01-10 21:37:32 +08:00
Documentation
socket: Update timestamping Documentation
2019-02-03 11:17:31 -08:00
drivers
net: devlink: report cell size of shared buffers
2019-02-03 11:25:34 -08:00
firmware
kbuild: change filechk to surround the given command with { }
2019-01-06 09:46:51 +09:00
fs
socket: Rename SO_RCVTIMEO/ SO_SNDTIMEO with _OLD suffixes
2019-02-03 11:17:31 -08:00
include
net: Fix ip_mc_{dec,inc}_group allocation context
2019-02-03 12:11:12 -08:00
init
kbuild: Disable LD_DEAD_CODE_DATA_ELIMINATION with ftrace & GCC <= 4.7
2019-01-14 10:37:09 +09:00
ipc
ipc: IPCMNI limit check for semmni
2018-10-31 08:54:14 -07:00
kernel
bpf: introduce BPF_F_LOCK flag
2019-02-01 20:55:39 +01:00
lib
XArray updates for 5.0-rc3
2019-01-22 17:08:30 +13:00
LICENSES
This is a fairly typical cycle for documentation. There's some welcome
2018-10-24 18:01:11 +01:00
mm
Revert "mm, memory_hotplug: initialize struct pages for the full memory section"
2019-01-28 10:35:22 -08:00
net
net: Fix ip_mc_{dec,inc}_group allocation context
2019-02-03 12:11:12 -08:00
samples
samples/bpf: Check the prog id before exiting
2019-02-01 23:37:51 +01:00
scripts
Bug fixes for gcc-plugins
2019-01-21 13:07:03 +13:00
security
Merge branch 'fixes-v5.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2019-01-17 16:54:58 +12:00
sound
sound fixes for 5.0-rc4
2019-01-25 05:55:26 +13:00
tools
selftests: add missing include unistd
2019-02-03 11:17:30 -08:00
usr
user/Makefile: Fix typo and capitalization in comment section
2018-12-11 00:18:03 +09:00
virt
KVM: validate userspace input in kvm_clear_dirty_log_protect()
2019-01-11 18:38:07 +01:00
.clang-format
clang-format: Update .clang-format with the latest for_each macro list
2019-01-19 19:26:06 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
kbuild: Add support for DT binding schema checks
2018-12-13 09:41:32 -06:00
.mailmap
A few early MIPS fixes for 4.21:
2019-01-05 12:48:25 -08:00
COPYING
CREDITS
Add CREDITS entry for Shaohua Li
2019-01-04 14:27:09 -07:00
Kbuild
kbuild: use assignment instead of define ... endef for filechk_* rules
2019-01-06 10:22:35 +09:00
Kconfig
kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
2018-08-02 08:06:55 +09:00
MAINTAINERS
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-01-29 21:18:54 -08:00
Makefile
Linux 5.0-rc4
2019-01-27 15:18:05 -08:00
README
Drop all 00-INDEX files from Documentation/
2018-09-09 15:08:58 -06:00