#!/bin/sh # description: Test creation and deletion of trace instances while setting an event if [ ! -d instances ] ; then echo "no instance directory with this kernel" exit_unsupported; fi fail() { # mesg rmdir foo 2>/dev/null echo $1 set -e exit $FAIL } cd instances # we don't want to fail on error set +e mkdir x rmdir x result=$? if [ $result -ne 0 ]; then echo "instance rmdir not supported" exit_unsupported fi instance_slam() { while :; do mkdir foo 2> /dev/null rmdir foo 2> /dev/null done } instance_read() { while :; do cat foo/trace 1> /dev/null 2>&1 done } instance_set() { while :; do echo 1 > foo/events/sched/sched_switch done 2> /dev/null } instance_slam & p1=$! echo $p1 instance_set & p2=$! echo $p2 instance_read & p3=$! echo $p3 sleep 1 kill -1 $p3 kill -1 $p2 kill -1 $p1 echo "Wait for processes to finish" wait $p1 $p2 $p3 echo "all processes finished, wait for cleanup" sleep 1 mkdir foo ls foo > /dev/null rmdir foo if [ -d foo ]; then fail "foo still exists" fi exit 0 instance_slam() { while :; do mkdir x mkdir y mkdir z rmdir x rmdir y rmdir z done 2>/dev/null } instance_slam & p1=$! echo $p1 instance_slam & p2=$! echo $p2 instance_slam & p3=$! echo $p3 instance_slam & p4=$! echo $p4 instance_slam & p5=$! echo $p5 ls -lR >/dev/null sleep 1 kill -1 $p1 kill -1 $p2 kill -1 $p3 kill -1 $p4 kill -1 $p5 echo "Wait for processes to finish" wait $p1 $p2 $p3 $p4 $p5 echo "all processes finished, wait for cleanup" mkdir x y z ls x y z rmdir x y z for d in x y z; do if [ -d $d ]; then fail "instance $d still exists" fi done set -e exit 0 c0cd4'>treecommitdiff
path: root/net/ipv4/protocol.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-01-30 10:55:04 +0100
committerDavid S. Miller <davem@davemloft.net>2017-01-30 16:37:55 -0500
commitcdaf25dfc058ee6f7a7b2e2353de00fa288c0cd4 (patch)
treea45096fd9e8aaeea2eac1f1999a3d17dfeb0d02b /net/ipv4/protocol.c
parent1930b60352e7e195f55b27cde15d2a8f43342a8b (diff)
smc: some potential use after free bugs
Say we got really unlucky and these failed on the last iteration, then it could lead to a use after free bug. Fixes: cd6851f30386 ("smc: remote memory buffers (RMBs)") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/protocol.c')