lkml.org 
[lkml]   [2016]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectLinux 4.9-rc6
We're getting further in the rc series, and while things have stayed
pretty calm, I'm not sure if we're quite there yet. There's a few
outstanding issues that just shouldn't be issues at rc6 time, so we'll
just have to see. This may be one of those releases that have an rc8,
which considering the size of 4.9 is perhaps not that unusual.

That said, nothing particular is bothering me all that much, but we've
had some of the VMALLOC_STACK fixups continue to trickle in, so I
worry that we're not quite done there yet. And let's see what
Thorsten's regression list looks like next week. So no decision yet,
it could still go either way.

The fact that rc6 is bigger than rc5 was is not a particularly great
sign, though. But most of that seems to be just the usual timing
fluctuation: rc6 had networking updates, rc5 didn't, for example.
There are also some rdma updates etc that stand out. Nothing that
looks particularly worrisome.

Aside from the aforementioned networking and rdma, there's gpu fixes,
some tooling and build fixes, and various arch updates (x86, powerpc,
arm, xtensa). And misc fixes all over (i2c, sound, fuse, kvm..)

Go forth and test,

Linus

---

Aaron Lu (1):
mremap: fix race between mremap() and page cleanning

Abhi Das (1):
fix iov_iter_advance() for ITER_PIPE

Adam Ford (2):
ARM: dts: omap3: Fix memory node in Torpedo board
ARM: omap3: Add missing memory node in SOM-LV

Alex Deucher (1):
drm/amdgpu/powerplay: drop a redundant NULL check

Alex Hemme (1):
i2c: i2c-mux-pca954x: fix deselect enabling for device-tree

Alexander Duyck (1):
fib_trie: Correct /proc/net/route off by one error

Alexei Starovoitov (1):
ftrace: Ignore FTRACE_FL_DISABLED while walking dyn_ftrace records

Allan Chou (1):
Net Driver: Add Cypress GX3 VID=04b4 PID=3610.

Andreas Gruenbacher (1):
xattr: Fix setting security xattrs on sockfs

Andrew Donnellan (1):
powerpc/oops: Fix missing pr_cont()s in instruction dump

Andy Gospodarek (1):
bgmac: stop clearing DMA receive control register right after it is set

Aneesh Kumar K.V (1):
powerpc/mm: Fix missing update of HID register on secondary CPUs

Arkadi Sharshevsky (1):
mlxsw: spectrum_router: Correctly dump neighbour activity

Arnd Bergmann (4):
brcmfmac: avoid maybe-uninitialized warning in brcmf_cfg80211_start_ap
netfilter: ip_vs_sync: fix bogus maybe-uninitialized warning
vxlan: hide unused local variable
crypto: caam - fix type mismatch warning

Axl-zhang (1):
dmaengine: sun6i: fix the uninitialized value for v_lli

Azhar Shaikh (1):
mfd: intel-lpss: Do not put device in reset state on suspend

Baoquan He (2):
Revert "bnx2: Reset device during driver initialization"
bnx2: Wait for in-flight DMA to complete at probe stage

Bart Van Assche (1):
nvmet-rdma: Fix possible NULL deref when handling rdma cm events

Baruch Siach (1):
net: bpqether.h: remove if_ether.h guard

Benjamin Herrenschmidt (1):
powerpc/64: Fix setting of AIL in hypervisor mode

Benjamin Poirier (1):
bna: Add synchronization for tx ring.

Bert Kenward (1):
sfc: clear napi_hash state when copying channels

Bibby Hsieh (3):
drm/mediatek: fix a typo of OD_CFG to OD_RELAYMODE
drm/mediatek: set vblank_disable_allowed to true
drm/mediatek: clear IRQ status before enable OVL interrupt

Borislav Petkov (2):
x86/efi: Fix EFI memmap pointer size warning
kbuild: Steal gcc's pie from the very beginning

Chris Metcalf (1):
tile: handle __ro_after_init like parisc does

Chris Wilson (1):
drm/i915: Mark CPU cache as dirty when used for rendering

Christoph Hellwig (1):
nvme-rdma: reject non-connect commands before the queue is live

Christophe JAILLET (2):
drm/sun4i: Fix error handling
drm/sun4i: Propagate error to the caller

Christophe Jaillet (1):
net/mlx5: Simplify a test

Colin Ian King (3):
ARM: OMAP2+: PRM: initialize en_uart4_mask and grpsel_uart4_mask
net: ethernet: ixp4xx_eth: fix spelling mistake in debug message
ps3_gelic: fix spelling mistake in debug message

Cédric Le Goater (1):
ipmi/bt-bmc: change compatible node to 'aspeed, ast2400-ibt-bmc'

Dan Carpenter (1):
ntb_perf: potential info leak in debugfs

Daniel Borkmann (2):
bpf: fix htab map destruction when extra reserve is in use
bpf: fix map not being uncharged during map creation failure

Daniel Jurgens (2):
IB/mlx5: Use cache line size to select CQE stride
IB/mlx4: Check gid_index return value

Dasaratharaman Chandramouli (1):
IB/hfi1: Fix ECN processing in prescan_rxq

Dave Airlie (2):
Revert "drm/mediatek: fix a typo of OD_CFG to OD_RELAYMODE"
Revert "drm/mediatek: set vblank_disable_allowed to true"

Dave Gerlach (1):
ARM: AM43XX: Select OMAP_INTERCONNECT in Kconfig

Dave Jiang (1):
ntb: ntb_hw_intel: init peer_addr in struct intel_ntb_dev

David Ahern (4):
net: tcp: check skb is non-NULL for exact match on lookups
net: icmp6_send should use dst dev to determine L3 domain
net: icmp_route_lookup should use rt dev to determine L3 domain
net: tcp response should set oif only if it is L3 master

Dennis Dalessandro (3):
IB/rdmavt: rdmavt can handle non aligned page maps
IB/hfi1: Remove leftover snoop references
IB/hfi1: Remove incorrect IS_ERR check

Dongli Zhang (2):
xen-netfront: do not cast grant table reference to signed short
xen-netfront: cast grant table reference first to type int

Easwar Hariharan (2):
IB/hfi1: Clean up unused argument
IB/hfi1: Delete unused lock

Eli Cohen (2):
IB/mlx5: Fix fatal error dispatching
IB/mlx5: Fix NULL pointer dereference on debug print

Eli Cooper (2):
ip6_tunnel: Clear IP6CB in ip6tunnel_xmit()
ip6_udp_tunnel: remove unused IPCB related codes

Eric Biggers (2):
fscrypto: don't use on-stack buffer for filename encryption
fscrypto: don't use on-stack buffer for key derivation

Eric Dumazet (12):
net: clear sk_err_soft in sk_clone_lock()
net: mangle zero checksum in skb_checksum_help()
tcp: fix potential memory corruption
tcp: fix return value for partial writes
dccp: do not release listeners too soon
dccp: do not send reset to already closed sockets
dccp: fix out of bound access in dccp_v4_err()
netlink: netlink_diag_dump() runs without locks
ipv6: dccp: fix out of bound access in dccp_v6_err()
ipv6: dccp: add missing bind_conflict to dccp_ipv6_mapped
net: __skb_flow_dissect() must cap its return value
tcp: take care of truncations done by sk_filter()

Eugeniy Paltsev (1):
drm/arcpgu: Accommodate adv7511 switch to DRM bridge

Fabian Mewes (1):
Documentation: networking: dsa: Update tagging protocols

Fabio Estevam (1):
ARM: dts: imx53-qsb: Fix regulator constraints

Florian Fainelli (1):
net: stmmac: Fix lack of link transition for fixed PHYs

Florian Westphal (5):
netfilter: conntrack: avoid excess memory allocation
dctcp: avoid bogus doubling of cwnd after loss
netfilter: connmark: ignore skbs with magic untracked conntrack objects
netfilter: conntrack: fix CT target for UNSPEC helpers
netfilter: conntrack: refine gc worker heuristics

Gao Feng (1):
driver: macvlan: Destroy new macvlan port if
macvlan_common_newlink failed.

Gregory CLEMENT (1):
arm64: dts: marvell: Fix typo in label name on Armada 37xx

Guenter Roeck (1):
r8152: Fix error path in open function

Guilherme G. Piccoli (1):
ehea: fix operation state report

H. Nikolaus Schaller (4):
dts: omap5: board-common: add phandle to reference Palmas gpadc
dts: omap5: board-common: enable twl6040 headset jack detection
ASoC: omap-abe-twl6040: fix typo in bindings documentation
ARM: dts: omap5: board-common: fix wrong SMPS6 (VDD-DDR3) voltage

Haim Dreyfuss (1):
iwlwifi: mvm: comply with fw_restart mod param on suspend

Hariprasad Shenai (1):
cxgb4: correct device ID of T6 adapter

Heikki Krogerus (1):
mfd: intel_soc_pmic_bxtwc: Fix usbc interrupt

Herbert Xu (1):
crypto: algif_hash - Fix NULL hash crash with shash

Hoan Tran (1):
mailbox: PCC: Fix lockdep warning when request PCC channel

Hugh Dickins (1):
powerpc: Fix exception vector build with 2.23 era binutils

Hui Wang (1):
ALSA: hda - add a new condition to check if it is thinkpad

Huy Nguyen (1):
net/mlx5: Fix invalid pointer reference when prof_sel parameter is invalid

Icenowy Zheng (1):
ARM: dts: sun8i: fix the pinmux for UART1

Ido Schimmel (2):
mlxsw: spectrum: Fix incorrect reuse of MID entries
mlxsw: spectrum_router: Flush FIB tables during fini

Ignacio Alvarado (1):
KVM: Disable irq while unregistering user notifier

Ira Weiny (1):
IB/hfi1: Fix rnr_timer addition

Isaac Boukris (1):
unix: escape all null bytes in abstract unix domain socket

Iyappan Subramanian (2):
drivers: net: xgene: fix: Disable coalescing on v1 hardware
drivers: net: xgene: fix: Coalescing values for v2 hardware

Jakub Pawlak (2):
IB/hfi1: Fix integrity check flags default values
IB/hfi1: Fix status error code for unsupported packets

Jakub Sitnicki (1):
ipv6: Don't use ufo handling on later transformed packets

Jarkko Nikula (1):
mfd: lpss: Fix Intel Kaby Lake PCH-H properties

Javier Martinez Canillas (1):
rtc: asm9260: fix module autoload

Jianxin Xiong (2):
IB/hfi1: Fix a potential memory leak in hfi1_create_ctxts()
IB/hfi1: Prevent hardware counter names from being cut off

Jiri Pirko (2):
mlxsw: spectrum_router: Fix handling of neighbour structure
mlxsw: spectrum_router: Ignore FIB notification events for
non-init namespaces

Johan Hovold (5):
phy: fix device reference leaks
net: ethernet: ti: cpsw: fix device and of_node leaks
net: ethernet: ti: davinci_emac: fix device reference leak
net: hns: fix device reference leaks
mfd: core: Fix device reference leak in mfd_clone_cell

Johannes Berg (1):
iwlwifi: pcie: mark command queue lock with separate lockdep class

John Allen (1):
ibmvnic: Start completion queue negotiation at server-provided
optimum values

John W. Linville (1):
netfilter: nf_tables: fix type mismatch with error return from
nft_parse_u32_check

Jonathan Liu (1):
drm/sun4i: rgb: Enable panel after controller

Junzhi Zhao (3):
drm/mediatek: do mtk_hdmi_send_infoframe after HDMI clock enable
drm/mediatek: enhance the HDMI driving current
drm/mediatek: modify the factor to make the pll_rate set in the
1G-2G range

Jérémy Lefaure (1):
dmaengine: mmp_tdma: add missing select GENERIC_ALLOCATOR in Kconfig

Kan Liang (1):
perf/x86/intel/uncore: Add more Intel uncore IMC PCI IDs for SkyLake

Keith Busch (1):
nvme/pci: Don't free queues on error

Keno Fischer (1):
gpio: Remove GPIO_DEVRES option

Krzysztof Blaszkowski (2):
IB/hfi1: Return ENODEV for unsupported PCI device ids.
IB/hfi1: Relocate rcvhdrcnt module parameter check.

LABBE Corentin (1):
rtc: cmos: remove all __exit_p annotations

Lance Richardson (2):
ipv4: allow local fragmentation in ip_finish_output_gso()
ipv4: update comment to document GSO fragmentation cases.

Leon Romanovsky (1):
IB/core: Set routable RoCE gid type for ipv4/ipv6 networks

Linus Torvalds (3):
Revert "printk: make reading the kernel log flush pending lines"
ASoC: lpass-platform: fix uninitialized variable
Linux 4.9-rc6

Linus Walleij (5):
video: ARM CLCD: fix Vexpress regression
i2c: mux: fix up dependencies
gpio: do not double-check direction on sleeping chips
gpio: tc3589x: fix up .get_direction()
mfd: stmpe: Fix RESET regression on STMPE2401

Liping Zhang (6):
netfilter: nft_dynset: fix panic if NFT_SET_HASH is not enabled
netfilter: nf_tables: fix *leak* when expr clone fail
netfilter: nf_tables: fix race when create new element in dynset
netfilter: nf_tables: destroy the set if fail to add transaction
netfilter: nft_dup: do not use sreg_dev if the user doesn't specify it
netfilter: nf_tables: fix oops when inserting an element into a
verdict map

Loic Pallardy (1):
ARM: dts: STiH410-b2260: Fix typo in spi0 chipselect definition

Lokesh Vutla (1):
rtc: omap: Fix selecting external osc

Luca Coelho (4):
iwlwifi: mvm: use ssize_t for len in iwl_debugfs_mem_read()
iwlwifi: mvm: fix d3_test with unified D0/D3 images
iwlwifi: pcie: fix SPLC structure parsing
iwlwifi: mvm: fix netdetect starting/stopping for unified images

Lukas Resch (1):
can: sja1000: plx_pci: Add support for Moxa CAN devices

Lukas Wunner (1):
x86/platform/intel-mid: Retrofit pci_platform_pm_ops ->get_state hook

Lv Zheng (1):
tools/power/acpi: Remove direct kernel source include reference

Maciej Żenczykowski (1):
net-ipv6: on device mtu change do not add mtu to mtu-less routes

Majd Dibbiny (1):
IB/mlx5: Fix memory leak in query device

Maor Gottlieb (1):
IB/mlx5: Validate requested RQT size

Marcelo Ricardo Leitner (1):
sctp: assign assoc_id earlier in __sctp_connect

Marcin Wojtas (2):
arm64: dts: marvell: fix clocksource for CP110 slave SPI0
arm64: dts: marvell: add unique identifiers for Armada A8k SPI controllers

Marek Szyprowski (1):
ARM: 8628/1: dma-mapping: preallocate DMA-debug hash tables in
core_initcall

Mario Kleiner (1):
drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5)

Mark Bloch (3):
IB/cm: Mark stale CM id's whenever the mad agent was unregistered
IB/core: Add missing check for addr_resolve callback return value
IB/core: Avoid unsigned int overflow in sg_alloc_table

Mark Lord (1):
r8152: Fix broken RX checksums.

Martin KaFai Lau (2):
bpf: Fix bpf_redirect to an ipip/ip6tnl dev
bpf: Add test for bpf_redirect to ipip/ip6tnl

Matan Barak (1):
IB/mlx4: Fix create CQ error flow

Mathias Krause (1):
rtnl: reset calcit fptr in rtnl_unregister()

Matt Fleming (1):
x86/efi: Prevent mixed mode boot corruption with CONFIG_VMAP_STACK=y

Mauro Carvalho Chehab (1):
gp8psk-fe: add missing MODULE_foo() macros

Max Filippov (2):
xtensa: clean up printk usage for boot/crash logging
xtensa: wire up new pkey_{mprotect,alloc,free} syscalls

Maxime Ripard (1):
drm/sun4i: rgb: Remove the bridge enable/disable functions

Michael Chan (2):
bnxt_en: Fix ring arithmetic in bnxt_setup_tc().
bnxt_en: Fix VF virtual link state.

Michael Ellerman (3):
powerpc/oops: Fix missing pr_cont()s in show_stack()
powerpc/oops: Fix missing pr_cont()s in print_msr_bits() et. al.
powerpc/oops: Fix missing pr_cont()s in show_regs()

Michael Neuling (1):
powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1

Michael S. Tsirkin (1):
virtio-net: drop legacy features in virtio 1 mode

Mike Frysinger (1):
Revert "include/uapi/linux/atm_zatm.h: include linux/time.h"

Mike Marshall (1):
orangefs: add .owner to debugfs file_operations

Miklos Szeredi (2):
fuse: fix root dentry initialization
fuse: fix fuse_write_end() if zero bytes were copied

Mintz, Yuval (2):
qede: Fix statistics' strings for Tx/Rx queues
qede: Correctly map aggregation replacement pages

Monk Liu (1):
drm/amdgpu:fix vpost_needed routine

Moshe Lazer (1):
IB/mlx5: Resolve soft lock on massive reg MRs

Namhyung Kim (5):
perf hist browser: Fix hierarchy column counts
perf hists browser: Fix indentation of folded sign on --hierarchy
perf hists browser: Show folded sign properly on --hierarchy
perf hists browser: Fix column indentation on --hierarchy
perf hists: Fix column length on --hierarchy

Nicholas Mc Guire (2):
ntb_transport: make DMA_OUT_RESOURCE_TO HZ independent
ntb: make DMA_OUT_RESOURCE_TO HZ independent

Nicholas Piggin (4):
kbuild: prevent lib-ksyms.o rebuilds
kbuild: modversions for EXPORT_SYMBOL() for asm
kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
powerpc/64s: Fix system reset interrupt winkle wakeups

Nicolae Rosia (1):
ARM: OMAP2+: avoid NULL pointer dereference

Nicolas Pitre (1):
ARM: 8624/1: proc-v7m.S: fix init section name

Oliver Hartkopp (1):
can: bcm: fix warning in bcm_connect/proc_register

Or Gerlitz (3):
net/mlx5e: Disallow changing name-space for VF representors
net/mlx5e: Handle matching on vlan priority for offloaded TC rules
net/mlx5: E-Switch, Set the actions for offloaded rules properly

Paolo Bonzini (5):
KVM: x86: do not go through vcpu in __get_kvmclock_ns
kvm: kvmclock: let KVM_GET_CLOCK return whether the master clock is in use
KVM: async_pf: avoid recursive flushing of work items
KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
kvm: x86: merge kvm_arch_set_irq and kvm_arch_set_irq_inatomic

Pavel Machek (1):
MAINTAINERS: Add LED subsystem co-maintainer

Peter Rosin (1):
i2c: Documentation: i2c-topology: fix minor whitespace nit

Phil Reid (2):
gpio: pca953x: Fix corruption of other gpios in set_multiple.
gpio: pca953x: Move memcpy into mutex lock for set multiple

Rafael J. Wysocki (1):
Revert "ACPICA: FADT support cleanup"

Rafał Miłecki (1):
net: bgmac: fix reversed checks for clock control flag

Ram Amrani (2):
qed: configure ll2 RoCE v1/v2 flavor correctly
qed: Correct rdma params configuration

Russell King (3):
net: mv643xx_eth: ensure coalesce settings survive read-modify-write
ARM: fix backtrace
ARM: Fix XIP kernels

Saeed Mahameed (3):
MAINTAINERS: Update MELLANOX MLX5 core VPI driver maintainers
net/mlx5e: Fix XDP error path of mlx5e_open_channel()
net/mlx5e: Re-arrange XDP SQ/CQ creation

Sagi Grimberg (3):
nvmet: Don't queue fatal error work if csts.cfs is set
nvmet-rdma: don't forget to delete a queue from the list of
connection failed
nvmet-rdma: drain the queue-pair just before freeing it

Sara Sharon (1):
iwlwifi: mvm: wake the wait queue when the RX sync counter is zero

Scott Mayhew (1):
sunrpc: svc_age_temp_xprts_now should not call setsockopt
non-tcp transports

Sebastian Andrzej Siewior (3):
kbuild: add -fno-PIE
scripts/has-stack-protector: add -fno-PIE
x86/kexec: add -fno-PIE

Soheil Hassas Yeganeh (1):
sock: fix sendmmsg for partial sendmsg

Stefan Agner (3):
drm/fsl-dcu: do not update when modifying irq registers
drm/fsl-dcu: update all registers on flush
drm/fsl-dcu: disable planes before disabling CRTC

Stephen Suryaputra Lin (1):
ipv4: use new_gw for redirect neigh lookup

Steve Wise (3):
nvme-rdma: stop and free io queues on connect failure
iw_cxgb4: set *bad_wr for post_send/post_recv errors
iw_cxgb4: invalidate the mr when posting a read_w_inv wr

Steven Rostedt (Red Hat) (1):
ftrace: Add more checks for FTRACE_FL_DISABLED in processing ip records

Sven Ebenfeld (1):
crypto: caam - do not register AES-XTS mode on LP units

Tadeusz Struk (2):
IB/hfi1: Remove redundant sysfs irq affinity entry
IB/hfi1: Fix an Oops on pci device force remove

Takashi Iwai (2):
ALSA: hda - Fix mic regression by ASRock mobo fixup
ALSA: usb-audio: Fix use-after-free of usb_device at disconnect

Tariq Toukan (2):
Revert "net/mlx4_en: Fix panic during reboot"
IB/uverbs: Fix leak of XRC target QPs

Tero Kristo (1):
rtc: omap: prevent disabling of clock/module during suspend

Theodore Ts'o (1):
ext4: sanity check the block and cluster size at mount time

Thomas Falcon (2):
ibmvnic: Unmap ibmvnic_statistics structure
ibmvnic: Fix size of debugfs name buffer

Thomas Gleixner (2):
genirq: Use irq type from irqdata instead of irqdesc
x86/cpu: Deal with broken firmware (VMWare/XEN)

Timur Tabi (3):
net: qcom/emac: use correct value for SGMII_LN_UCDR_SO_GAIN_MODE0
net: qcom/emac: configure the external phy to allow pause frames
net: qcom/emac: enable flow control if requested

Tony Lindgren (5):
ARM: OMAP3: Fix formatting of features printed
dmaengine: cppi41: Fix list not empty warning on module removal
dmaengine: cppi41: Fix unpaired pm runtime when only a USB hub
is connected
dmaengine: cpp41: Fix handling of error path
dmaengine: cppi41: More PM runtime fixes

Ulrich Weber (1):
netfilter: nf_conntrack_sip: extend request line validation

Ville Syrjälä (4):
rtc: cmos: Don't enable interrupts in the middle of the interrupt handler
drm/i915: Grab the rotation from the passed plane state for VLV sprites
drm/i915: Refresh that status of MST capable connectors in ->detect()
drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's
no AUX ch specified in the VBT

WANG Cong (4):
inet: fix sleeping inside inet_wait_for_connect()
genetlink: fix a memory leak on error path
taskstats: fix the length of cgroupstats_cmd_get_policy
ipvs: use IPVS_CMD_ATTR_MAX for family.maxattr

Wei Huang (2):
arm64: KVM: pmu: Fix AArch32 cycle counter access
KVM: arm64: Fix the issues when guest PMCCFILTR is configured

Wei Yongjun (4):
dmaengine: edma: Fix error return code in edma_alloc_chan_resources()
ntb_pingpong: Fix db_init parameter description
NTB: ntb_hw_intel: Fix typo in module parameter descriptions
i2c: digicolor: use clk_disable_unprepare instead of clk_unprepare

Wolfram Sang (1):
i2c: mux: demux-pinctrl: make drivers with no pinctrl work again

Xin Long (5):
ipv6: add mtu lock check in __ip6_rt_update_pmtu
sctp: hold transport instead of assoc in sctp_diag
sctp: return back transport in __sctp_rcv_init_lookup
sctp: hold transport instead of assoc when lookup assoc in rx path
sctp: change sk state only when it has assocs in sctp_shutdown

Yazen Ghannam (1):
x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems

Yonatan Cohen (4):
IB/rxe: Fix kernel panic in UDP tunnel with GRO and RX checksum
IB/rxe: Fix handling of erroneous WR
IB/rxe: Clear queue buffer when modifying QP to reset
IB/rxe: Update qp state for user query

Yotam Gigi (1):
mlxsw: spectrum: Fix refcount bug on span entries

\
 
 \ /
  Last update: 2016-11-20 23:07    [W:0.064 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site