sync with upstream, update kernel