Hi,

Adding a rule similar to the below causes a panic on -current (OpenBSD
6.5-current (GENERIC) #95: Thu Jul  4 21:22:25 MDT 2019). This also panics 6.3
and 6.5 (I didn't test 6.4):

  pass in quick on egress proto tcp from any to port 8888 once rdr-to \
        127.0.0.1 port 3333

Once the rule is in place, fire up:

  nc -l 127.0.0.1 3333

Connect a few times from a remote machine:
  
  nc <ip> 8888

Eventually it will panic with (sometimes it happens right away, other times I
have to restart nc a few times):

  ddb> trace
  pf_rm_rule(ffffffff81d900a8,ffff8000003bbfe8) at pf_rm_rule+0xa9
  pf_purge_rule(ffff8000003bbfe8) at pf_purge_rule+0x26
  pf_purge(ffffffff81dc1088) at pf_purge+0x55
  taskq_thread(ffff800000022040) at taskq_thread+0x3d
  end trace frame: 0x0, count: -4
  ddb>
  ddb> ps
     PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
   69502   12189      1      0  3    0x100083  ttyin         ksh
   53972  340673      1      0  3    0x100098  poll          cron
   81827  279222      1    110  3    0x100090  poll          sndiod
   54852   68160      1     99  3    0x100090  poll          sndiod
   79474   94554   3215     95  3    0x100092  kqread        smtpd
   90212  164878   3215    103  3    0x100092  kqread        smtpd
   43199  482512   3215     95  3    0x100092  kqread        smtpd
   38765  100663   3215     95  3    0x100092  kqread        smtpd
   33241  424770   3215     95  3    0x100092  kqread        smtpd
    5338  193750   3215     95  3    0x100092  kqread        smtpd
    3215  481909      1      0  3    0x100080  kqread        smtpd
   57742  143403      1      0  3        0x80  select        sshd
   31904  460143      1      0  3    0x100080  poll          ntpd
   65592  182120  47006     83  3    0x100092  poll          ntpd
   47006  103509      1     83  3    0x100092  poll          ntpd
   60875  292765  99617     74  3    0x100092  bpf           pflogd
   99617  524148      1      0  3        0x80  netio         pflogd
    4242  324170  49064     73  3    0x100090  kqread        syslogd
   49064  413359      1      0  3    0x100082  netio         syslogd
   20955  102995  68995    115  3    0x100092  kqread        slaacd
   99883  518930  68995    115  3    0x100092  kqread        slaacd
   68995  175540      1      0  3    0x100080  kqread        slaacd
    5278  238159      0      0  3     0x14200  pgzero        zerothread
    2253  479921      0      0  3     0x14200  aiodoned      aiodoned
   98149  310276      0      0  3     0x14200  syncer        update
   78055  259911      0      0  3     0x14200  cleaner       cleaner
   68827  324781      0      0  3     0x14200  reaper        reaper
   93269   98863      0      0  3     0x14200  pgdaemon      pagedaemon
   75284  447451      0      0  3     0x14200  bored         crynlk
   34868  513191      0      0  3     0x14200  bored         crypto
  *18776  255193      0      0  7     0x14200                softnet
   64918  469356      0      0  3     0x14200  bored         systqmp
     902   49537      0      0  3     0x14200  bored         systq
   17250  200730      0      0  3  0x40014200  bored         softclock
    2990  510299      0      0  3  0x40014200                idle0
     947  215447      0      0  3     0x14200  bored         smr
       1  180680      0      0  3        0x82  wait          init
       0       0     -1      0  3     0x10200  scheduler     swapper
  ddb> 

dmesg (from a VM in vmm - I have also reproduced this on physical hw):
OpenBSD 6.5-current (GENERIC) #95: Thu Jul  4 21:22:25 MDT 2019
    dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 4278181888 (4079MB)
avail mem = 4138524672 (3946MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf3f10 (12 entries)
bios0: vendor SeaBIOS version "1.11.0p2-OpenBSD-vmm" date 01/01/2011
bios0: OpenBSD VMM
acpi at bios0 not configured
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Ryzen 7 PRO 2700U w/ Radeon Vega Mobile Gfx, 37466.79 MHz, 17-11-00
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,MMXX,FFXSR,PAGE1GB,LONG,LAHF,CMPLEG,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA
cpu0: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 
8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu0: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu0: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
pvbus0 at mainbus0: OpenBSD
pvclock0 at pvbus0
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "OpenBSD VMM Host" rev 0x00
virtio0 at pci0 dev 1 function 0 "Qumranet Virtio RNG" rev 0x00
viornd0 at virtio0
virtio0: irq 3
virtio1 at pci0 dev 2 function 0 "Qumranet Virtio Network" rev 0x00
vio0 at virtio1: address fe:e1:bb:d1:eb:4d
virtio1: irq 5
virtio2 at pci0 dev 3 function 0 "Qumranet Virtio Storage" rev 0x00
vioblk0 at virtio2
scsibus1 at vioblk0: 2 targets
sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd0: 40960MB, 512 bytes/sector, 83886080 sectors
virtio2: irq 6
virtio3 at pci0 dev 4 function 0 "OpenBSD VMM Control" rev 0x00
vmmci0 at virtio3
virtio3: irq 7
isa0 at mainbus0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo
com0: console
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (66c460169c410440.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted

-- 
PGP: 0x1F81112D62A9ADCE / 3586 3350 BFEA C101 DB1A  4AF0 1F81 112D 62A9 ADCE

Reply via email to