Re: Kernel page fault in current

2013-10-24 Thread Vladimir Támara Patiño

You were right, after updating and recompiling kernel nor more page
fault.   Besides now I can move the windows smoothly (before they put
like lines while moving).  I also think in general faster X (I wonder
how to measure).

On Tue, Oct 22, 2013 at 10:53:36AM -0700, Philip Guenther wrote:

On Tue, Oct 22, 2013 at 5:21 AM, Vladimir Támara Patiño
vtam...@pasosdejesus.org wrote:
 Hi, I'm having problems with current, I'm using Xorg after some time there
 is a kernel trap (3 times I have seen the same one):

Current is a moving target, so saying current without a timestamp or
at least date isn't precise.  Indeed, there have been four commits to
the file holding wsdisplaypoll() since the Oct 18th.

So, refresh, rebuild, and see whether the most recent commits affect
it.  If it still happens, post a new trace, the date of your refresh,
AND THE DMESG THAT YOU LEFT OUT BEFORE.

Philip Guenther



--
Dios, gracias por tu amor infinito.
--  
 Vladimir Támara Patiño.  http://vtamara.pasosdeJesus.org/

 http://www.pasosdejesus.org/dominio_publico_colombia.html



Re: in[6]_proto_cksum_out: ICMP checksum fix

2013-10-24 Thread Lawrence Teo
On Fri, Oct 18, 2013 at 03:27:09PM -0400, Lawrence Teo wrote:
 Back in August I sent a diff to fix ICMP checksum calculation in
 in_proto_cksum_out() and in_delayed_cksum() in cases where the ICMP
 checksum field is not in the first mbuf of an mbuf chain (original post
 at http://marc.info/?l=openbsd-techm=137571298511653w=2 ).

Thanks to henning's and bluhm's work on checksums at b2k13, the diff to
fix this is now much more straightforward than my earlier versions.

ICMPv6 is no longer affected by the bug, so this diff is for v4 only.

OK?


Index: ip_output.c
===
RCS file: /cvs/src/sys/netinet/ip_output.c,v
retrieving revision 1.249
diff -u -p -U9 -r1.249 ip_output.c
--- ip_output.c 20 Oct 2013 13:44:23 -  1.249
+++ ip_output.c 24 Oct 2013 16:29:38 -
@@ -2064,18 +2064,22 @@ in_delayed_cksum(struct mbuf *m)
switch (ip-ip_p) {
case IPPROTO_TCP:
offset += offsetof(struct tcphdr, th_sum);
break;
 
case IPPROTO_UDP:
offset += offsetof(struct udphdr, uh_sum);
break;
 
+   case IPPROTO_ICMP:
+   offset += offsetof(struct icmp, icmp_cksum);
+   break;
+
default:
return;
}
 
if ((offset + sizeof(u_int16_t))  m-m_len)
m_copyback(m, offset, sizeof(csum), csum, M_NOWAIT);
else
*(u_int16_t *)(mtod(m, caddr_t) + offset) = csum;
 }
@@ -2109,20 +2113,13 @@ in_proto_cksum_out(struct mbuf *m, struc
m-m_pkthdr.csum_flags = ~M_TCP_CSUM_OUT; /* Clear */
}
} else if (m-m_pkthdr.csum_flags  M_UDP_CSUM_OUT) {
if (!ifp || !(ifp-if_capabilities  IFCAP_CSUM_UDPv4) ||
ifp-if_bridgeport != NULL) {
in_delayed_cksum(m);
m-m_pkthdr.csum_flags = ~M_UDP_CSUM_OUT; /* Clear */
}
} else if (m-m_pkthdr.csum_flags  M_ICMP_CSUM_OUT) {
-   struct ip *ip = mtod(m, struct ip *);
-   int hlen;
-   struct icmp *icp;
-
-   hlen = ip-ip_hl  2;
-   icp = (struct icmp *)(mtod(m, caddr_t) + hlen);
-   icp-icmp_cksum = in4_cksum(m, 0, hlen,
-   ntohs(ip-ip_len) - hlen);
+   in_delayed_cksum(m);
m-m_pkthdr.csum_flags = ~M_ICMP_CSUM_OUT; /* Clear */
}
 }



Re: Stairstep mouse motion

2013-10-24 Thread Edd Barrett
On Wed, Oct 16, 2013 at 11:45:34PM +0100, Edd Barrett wrote:
 Tested on my x230t and will continue to test. No regrssions noticed on
 relative pointing devices.
 
 OK?

Anyone?

I appreciate that I am probably the only one using OpenBSD on a tablet,
but a looks OK and no regressions for relative pointing devices
would be great.

Keen to get this in so that I don't have to rebuild the ws driver every
time I update my snapshot.

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk



mbuf(9) man page: document ICMP checksum flags

2013-10-24 Thread Lawrence Teo
Now that the M_ICMP_CSUM_* flags are actually used in the kernel by PF
(specifically pf_check_proto_cksum() and pf_cksum()), document them in
the mbuf(9) man page.

OK?


Index: mbuf.9
===
RCS file: /cvs/src/share/man/man9/mbuf.9,v
retrieving revision 1.65
diff -u -p -r1.65 mbuf.9
--- mbuf.9  21 Aug 2013 05:21:42 -  1.65
+++ mbuf.9  24 Oct 2013 16:51:21 -
@@ -313,6 +313,8 @@ IPv4 checksum needed.
 TCP checksum needed.
 .It Dv M_UDP_CSUM_OUT
 UDP checksum needed.
+.It Dv M_ICMP_CSUM_OUT
+ICMP/ICMPv6 checksum needed.
 .It Dv M_IPV4_CSUM_IN_OK
 IPv4 checksum verified.
 .It Dv M_IPV4_CSUM_IN_BAD
@@ -325,6 +327,10 @@ TCP checksum bad.
 UDP checksum verified.
 .It Dv M_UDP_CSUM_IN_BAD
 UDP checksum bad.
+.It Dv M_ICMP_CSUM_IN_OK
+ICMP/ICMPv6 checksum verified.
+.It Dv M_ICMP_CSUM_IN_BAD
+ICMP/ICMPv6 checksum bad.
 .El
 .Pp
 When only M_EXT flag is set, an external storage buffer is being used to



Re: Stairstep mouse motion

2013-10-24 Thread Henri Kemppainen
  Tested on my x230t and will continue to test. No regrssions noticed on
  relative pointing devices.
  
  OK?

 Anyone?

 I appreciate that I am probably the only one using OpenBSD on a tablet,
 but a looks OK and no regressions for relative pointing devices
 would be great.

What happens when priv-swap_axes is set, and the ax  ay branch is
taken along with the wsWheelEmuFilterMotion() branch.  Following
continue another event is processed and now the axes are swapped again
(ax and ay were not reset after use) and then what?  Not very likely
I know.

In hindsight it's possible that wheel emulation has been broken in
the previous revision; a glance at wsWheelEmuFilterMotion suggests
it doesn't like to handle both x and y axes at once, and will only
do the former (resetting the latter) if both are set.  I've never
used this thing though, and I didn't dive deeper.

Other than that I guess your diff is about as reasonable as one
can be with this hairy code.  I was waiting and hoping someone
else with an absolute pointing device could've checked and tested
it because I really didn't enjoy working on this file when I did
my patch :-)