Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #92

Merged
merged 110 commits into from
Aug 14, 2015
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
d50babb
xen-blkfront: introduce blkfront_gather_backend_features()
Jul 22, 2015
7b07675
xen-blkfront: don't add indirect pages to list when !feature_persistent
Jul 22, 2015
53bc7dc
xen-blkback: replace work_pending with work_busy in purge_persistent_…
Jul 22, 2015
e162b21
Merge branch 'stable/for-jens-4.2' of git://git.kernel.org/pub/scm/li…
axboe Jul 27, 2015
c9fdec9
iwlwifi: pcie: fix prepare card flow
egrumbach Jul 20, 2015
dc9f69b
iwlwifi: mvm: Fix regular scan priority
AviStern Jul 7, 2015
8ef9724
regmap: regcache-rbtree: Clean new present bits on present bitmap resize
groeck Jul 27, 2015
f0ad462
netfilter: nf_conntrack: silence warning on falling back to vmalloc()
ummakynes Jul 23, 2015
1a727c6
netfilter: nf_conntrack: checking for IS_ERR() instead of NULL
Jul 27, 2015
aecdc63
iwlwifi: pcie: fix stuck queue detection for sleeping clients
egrumbach Jul 29, 2015
f7c0af8
Merge tag 'iwlwifi-for-kalle-2015-07-30' of https://git.kernel.org/pu…
Jul 31, 2015
5d5cd85
rsi: Fix failure to load firmware after memory leak fix and fix the leak
MikeLooijmans Jul 28, 2015
098697d
b43: fix extpa_gain check for 2GHz
hauke Jul 29, 2015
7c62940
rtlwifi: Fix NULL dereference when PCI driver used as an AP
lfdominguez Jul 30, 2015
3473f26
ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd exec…
nlynch-mentor Jul 17, 2015
1ebd47e
rocker: free netdevice during netdevice removal
idosch Aug 2, 2015
3d0e0af
fq_codel: explicitly reset flows in ->reset()
Aug 1, 2015
741e3b9
rtlwifi: rtl8723be: Add module parameter for MSI interrupts
lwfinger Aug 2, 2015
3576fd7
openvswitch: Fix L4 checksum handling when dealing with IP fragments
Aug 3, 2015
636dba8
act_mirred: avoid calling tcf_hash_release() when binding
congwang Jul 31, 2015
468b732
rds: fix an integer overflow test in rds_info_getsockopt()
Aug 1, 2015
2fc0996
3c59x: Fix resource leaks in vortex_open
XidianGeneral Aug 3, 2015
10e2eb8
udp: fix dst races with multicast early demux
Aug 1, 2015
2475b22
xen-netback: Allocate fraglist early to avoid complex rollback
rosslagerwall Aug 3, 2015
f202a66
batman-adv: avoid DAT to mess up LAN state
ordex Jun 16, 2015
354136b
batman-adv: fix kernel crash due to missing NULL checks
Jun 9, 2015
ef72706
batman-adv: protect tt_local_entry from concurrent delete events
Jun 17, 2015
27a4d5e
batman-adv: initialize up/down values when adding a gateway
Jun 24, 2015
f58e5aa
netfilter: conntrack: Use flags in nf_ct_tmpl_alloc()
joestringer Aug 5, 2015
cb92205
Bluetooth: fix MGMT_EV_NEW_LONG_TERM_KEY event
Aug 5, 2015
14d2b7c
net: fec: fix initial runtime PM refcount
lynxeye-dev Aug 3, 2015
a0a2a66
net: Fix skb_set_peeked use-after-free bug
herbertx Aug 4, 2015
57b2290
xen/netback: Wake dealloc thread after completing zerocopy work
rosslagerwall Aug 4, 2015
7ba8bd7
net: pktgen: don't abuse current->state in pktgen_thread_worker()
oleg-nesterov Aug 4, 2015
50e18af
Merge tag 'wireless-drivers-for-davem-2015-08-04' of git://git.kernel…
davem330 Aug 7, 2015
355b9f9
bridge: netlink: account for the IFLA_BRPORT_PROXYARP attribute size …
Aug 4, 2015
786c207
bridge: netlink: account for the IFLA_BRPORT_PROXYARP_WIFI attribute …
Aug 4, 2015
7ebc482
r8169: enforce RX_MULTI_EN on rtl8168ep/8111ep chips
Aug 4, 2015
22f54bf
net: thunderx: remove effective "default y" from Kconfig if ARCH_THUN…
ijc Aug 4, 2015
866b8b1
net: netcp: fix unused interface rx buffer size configuration
wingmankwok Aug 4, 2015
4f7eb70
stmmac: dwmac-ipq806x: fix static checker warning
Aug 5, 2015
48900cb
virtio-net: drop NETIF_F_FRAGLIST
jasowang Aug 5, 2015
bcc8414
be2net: enable IFACE filters only after creating RXQs
Aug 5, 2015
99b4430
be2net: post buffers before destroying RXQs in Lancer
Aug 5, 2015
649886a
be2net: protect eqo->affinity_mask from getting freed twice
Aug 5, 2015
d1163e9
Merge branch 'be2net-fixes'
davem330 Aug 7, 2015
998ef5d
ARM: 8408/1: Fix the secondary_startup function in Big Endian case
gclement Aug 6, 2015
e83dd37
ARM: 8409/1: Mark ret_fast_syscall as a function
drewrichardson-arm Aug 6, 2015
95a428f
Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux…
davem330 Aug 7, 2015
fe1e187
net/mlx5_core: Set log_uar_page_sz for non 4K page size architecture
Aug 5, 2015
2701fa0
fbdev: select versatile helpers for the integrator
linusw Jul 28, 2015
2b55cb3
OMAPDSS: Fix node refcount leak in omapdss_of_get_next_port()
Aug 7, 2015
6266f4b
OMAPDSS: Fix omap_dss_find_output_by_port_node() port refcount decrement
Aug 7, 2015
9e6e35e
video: fbdev: pxa3xx_gcu: prepare the clocks
rjarzmik Aug 3, 2015
96fffb4
netfilter: ip6t_SYNPROXY: fix NULL pointer dereference
Aug 9, 2015
3c16241
netfilter: SYNPROXY: fix sending window update to client
Jul 27, 2015
37b617f
video: Fix possible leak in of_get_videomode()
Jul 11, 2015
2a17d7e
fbcon: unconditionally initialize cursor blink interval
Aug 4, 2015
fc5fee8
x86/xen: build "Xen PV" APIC driver for domU as well
zx2c4 Aug 10, 2015
878854a
arm64: VDSO: fix coarse clock monotonicity regression
nlynch-mentor Aug 8, 2015
d53793c
net: mvpp2: remove excessive spinlocks from driver initialization
wojtas-marcin Aug 6, 2015
71ce391
net: mvpp2: enable proper per-CPU TX buffers unmapping
wojtas-marcin Aug 6, 2015
edc660f
net: mvpp2: replace TX coalescing interrupts with hrtimer
wojtas-marcin Aug 6, 2015
ea70858
Merge branch 'mvpp2-fixes'
davem330 Aug 10, 2015
ade4dc3
bna: fix interrupts storm caused by erroneous packets
Aug 6, 2015
4e7c133
netlink: make sure -EBUSY won't escape from netlink_insert
borkmann Aug 6, 2015
330567b
ipv6: don't reject link-local nexthop on other interface
Aug 7, 2015
7a76a02
net-timestamp: Update skb_complete_tx_timestamp comment
gobenji Aug 7, 2015
21a4476
cxgb4: missing curly braces in t4_setup_debugfs()
Aug 8, 2015
e161590
bnx2x: Prevent null pointer dereference on SKB release
Aug 10, 2015
0ea853d
bnx2x: Free NVRAM lock at end of each page
Aug 10, 2015
875a74b
Merge branch 'bnx2x-fixes'
davem330 Aug 10, 2015
1825545
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
davem330 Aug 11, 2015
9d332d9
mkiss: Fix error handling in mkiss_open()
Aug 10, 2015
2235f2a
inet: fix races with reqsk timers
Aug 10, 2015
3257d8b
inet: fix possible request socket leak
Aug 10, 2015
ad6cd7b
Revert "xen/events/fifo: Handle linked events when closing a port"
Aug 10, 2015
c22fe51
xen/xenbus: Don't leak memory when unmapping the ring on HVM backend
Aug 10, 2015
09edea4
ARM: 8410/1: VDSO: fix coarse clock monotonicity regression
nlynch-mentor Aug 10, 2015
edf15b4
Merge tag 'fbdev-fixes-4.2' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Aug 11, 2015
8961822
net: fs_enet: explicitly remove I flag on TX partial frames
chleroy Aug 11, 2015
c68875f
net: fs_enet: mask interrupts for TX partial frames.
chleroy Aug 11, 2015
28eaad7
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/ker…
davem330 Aug 11, 2015
c0ddc8c
localmodconfig: Use Kbuild files too
richardweinberger Jul 26, 2015
58ccab9
Merge tag 'localmodconfig-v4.2-rc6' of git://git.kernel.org/pub/scm/l…
torvalds Aug 11, 2015
7f518ad
dm thin metadata: delete btrees when releasing metadata snapshot
jthornber Aug 12, 2015
b0dc3c8
dm btree: add ref counting ops for the leaves of top level btrees
jthornber Aug 12, 2015
34dd051
dm cache policy smq: move 'dm-cache-default' module alias to SMQ
Aug 12, 2015
cec45d9
Merge tag 'regmap-fix-v4.2-rc6' of git://git.kernel.org/pub/scm/linux…
torvalds Aug 12, 2015
8c8bac5
drm/amdgpu: add context buffer size check for HEVC
Boyz-Radeon Aug 5, 2015
b8826b0
Revert "drm/amdgpu: Configure doorbell to maximum slots"
alexdeucher Aug 10, 2015
e037239
drm/radeon: add new OLAND pci id
alexdeucher Aug 10, 2015
04da002
Merge branch 'drm-fixes-4.2' of git://people.freedesktop.org/~agd5f/l…
torvalds Aug 12, 2015
30065bf
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Aug 12, 2015
211c504
net: dsa: Do not override PHY interface if already configured
ffainelli Aug 8, 2015
b02e3e9
bonding: Gratuitous ARP gets dropped when first slave added
Aug 11, 2015
a898fe0
gianfar: correct filer table writing
kuba-moo Aug 12, 2015
b5c8c89
gianfar: correct list membership accounting
kuba-moo Aug 12, 2015
1f2b729
gianfar: remove faulty filer optimizer
kuba-moo Aug 12, 2015
e941ba8
Merge branch 'gianfar-fixes'
davem330 Aug 12, 2015
e6d0069
cosa: missing error code on failure in probe()
Aug 12, 2015
5c16179
EDAC, ppc4xx: Access mci->csrows array elements properly
mwalle Jul 21, 2015
2331d30
Merge tag 'edac_fix_for_4.2' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Aug 13, 2015
26b552e
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
torvalds Aug 13, 2015
ed596cd
Revert x86 sigcontext cleanups
torvalds Aug 13, 2015
6b476e1
Merge tag 'for-linus-4.2-rc6-tag' of git://git.kernel.org/pub/scm/lin…
torvalds Aug 13, 2015
ebcbf16
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
torvalds Aug 13, 2015
5b3e2e1
Merge tag 'dm-4.2-fixes-5' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Aug 13, 2015
cd88ec2
x86: fix error handling for 32-bit compat out-of-range system call nu…
torvalds Aug 13, 2015
7ddab73
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
torvalds Aug 13, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions net/batman-adv/distributed-arp-table.c
Original file line number Diff line number Diff line change
Expand Up @@ -1138,14 +1138,17 @@ void batadv_dat_snoop_outgoing_arp_reply(struct batadv_priv *bat_priv,
* @bat_priv: the bat priv with all the soft interface information
* @skb: packet to check
* @hdr_size: size of the encapsulation header
*
* Returns true if the packet was snooped and consumed by DAT. False if the
* packet has to be delivered to the interface
*/
bool batadv_dat_snoop_incoming_arp_reply(struct batadv_priv *bat_priv,
struct sk_buff *skb, int hdr_size)
{
uint16_t type;
__be32 ip_src, ip_dst;
uint8_t *hw_src, *hw_dst;
bool ret = false;
bool dropped = false;
unsigned short vid;

if (!atomic_read(&bat_priv->distributed_arp_table))
Expand Down Expand Up @@ -1174,12 +1177,17 @@ bool batadv_dat_snoop_incoming_arp_reply(struct batadv_priv *bat_priv,
/* if this REPLY is directed to a client of mine, let's deliver the
* packet to the interface
*/
ret = !batadv_is_my_client(bat_priv, hw_dst, vid);
dropped = !batadv_is_my_client(bat_priv, hw_dst, vid);

/* if this REPLY is sent on behalf of a client of mine, let's drop the
* packet because the client will reply by itself
*/
dropped |= batadv_is_my_client(bat_priv, hw_src, vid);
out:
if (ret)
if (dropped)
kfree_skb(skb);
/* if ret == false -> packet has to be delivered to the interface */
return ret;
/* if dropped == false -> deliver to the interface */
return dropped;
}

/**
Expand Down
2 changes: 2 additions & 0 deletions net/batman-adv/gateway_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,8 @@ static void batadv_gw_node_add(struct batadv_priv *bat_priv,

INIT_HLIST_NODE(&gw_node->list);
gw_node->orig_node = orig_node;
gw_node->bandwidth_down = ntohl(gateway->bandwidth_down);
gw_node->bandwidth_up = ntohl(gateway->bandwidth_up);
atomic_set(&gw_node->refcount, 1);

spin_lock_bh(&bat_priv->gw.list_lock);
Expand Down
3 changes: 3 additions & 0 deletions net/batman-adv/soft-interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,9 @@ void batadv_interface_rx(struct net_device *soft_iface,
*/
void batadv_softif_vlan_free_ref(struct batadv_softif_vlan *vlan)
{
if (!vlan)
return;

if (atomic_dec_and_test(&vlan->refcount)) {
spin_lock_bh(&vlan->bat_priv->softif_vlan_list_lock);
hlist_del_rcu(&vlan->list);
Expand Down
29 changes: 24 additions & 5 deletions net/batman-adv/translation-table.c
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,9 @@ bool batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,

/* increase the refcounter of the related vlan */
vlan = batadv_softif_vlan_get(bat_priv, vid);
if (WARN(!vlan, "adding TT local entry %pM to non-existent VLAN %d",
addr, BATADV_PRINT_VID(vid)))
goto out;

batadv_dbg(BATADV_DBG_TT, bat_priv,
"Creating new local tt entry: %pM (vid: %d, ttvn: %d)\n",
Expand Down Expand Up @@ -1034,6 +1037,7 @@ uint16_t batadv_tt_local_remove(struct batadv_priv *bat_priv,
struct batadv_tt_local_entry *tt_local_entry;
uint16_t flags, curr_flags = BATADV_NO_FLAGS;
struct batadv_softif_vlan *vlan;
void *tt_entry_exists;

tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
if (!tt_local_entry)
Expand Down Expand Up @@ -1061,11 +1065,22 @@ uint16_t batadv_tt_local_remove(struct batadv_priv *bat_priv,
* immediately purge it
*/
batadv_tt_local_event(bat_priv, tt_local_entry, BATADV_TT_CLIENT_DEL);
hlist_del_rcu(&tt_local_entry->common.hash_entry);

tt_entry_exists = batadv_hash_remove(bat_priv->tt.local_hash,
batadv_compare_tt,
batadv_choose_tt,
&tt_local_entry->common);
if (!tt_entry_exists)
goto out;

/* extra call to free the local tt entry */
batadv_tt_local_entry_free_ref(tt_local_entry);

/* decrease the reference held for this vlan */
vlan = batadv_softif_vlan_get(bat_priv, vid);
if (!vlan)
goto out;

batadv_softif_vlan_free_ref(vlan);
batadv_softif_vlan_free_ref(vlan);

Expand Down Expand Up @@ -1166,8 +1181,10 @@ static void batadv_tt_local_table_free(struct batadv_priv *bat_priv)
/* decrease the reference held for this vlan */
vlan = batadv_softif_vlan_get(bat_priv,
tt_common_entry->vid);
batadv_softif_vlan_free_ref(vlan);
batadv_softif_vlan_free_ref(vlan);
if (vlan) {
batadv_softif_vlan_free_ref(vlan);
batadv_softif_vlan_free_ref(vlan);
}

batadv_tt_local_entry_free_ref(tt_local);
}
Expand Down Expand Up @@ -3207,8 +3224,10 @@ static void batadv_tt_local_purge_pending_clients(struct batadv_priv *bat_priv)

/* decrease the reference held for this vlan */
vlan = batadv_softif_vlan_get(bat_priv, tt_common->vid);
batadv_softif_vlan_free_ref(vlan);
batadv_softif_vlan_free_ref(vlan);
if (vlan) {
batadv_softif_vlan_free_ref(vlan);
batadv_softif_vlan_free_ref(vlan);
}

batadv_tt_local_entry_free_ref(tt_local);
}
Expand Down