There is unfortunately no "formiula" for tensor products in prime characteristic. Instead you can derive a list of composition factors $L(\lambda)$ (with multiplicity) by recursion. When $p=2$ there are only t two simple modules with *restricted* highest weights (abbreivated by non-negative integers), namely the trivial module $L(0)$ of dimension 1 and the natural module $L(1)$ of dimension 2. After this you need to rely on Steinberg's ttwisted tensor product theorem relative to a $p$-adic expansion of the highest weight. For instance, $L(2) \cong L(1)^{(1)}$, the first Frobenius twist of the natural module (still having dimension 2). In your specific example, the recursion is easy to carry out: peel off the composition factor of highest weight and see what weights remain. Here yuu are working with the tensor product of the natural module $L(1)^{(1)}$ with the "induced" module $H^0(3)$ of dimension 4 as in Jnntzen's book (polynomials in two variables of homogeneous degree 3) which is actually simple when $p=2$, isomorphic to $L(1) \otimes L(1)^{(1)}$. (These factors are the respective Steinberg modules for the first and second Frobenius kernels.) From the recursion one arrives at a list of composition factors (having total dimension 8): $L(1)^{(2)}, \: L(1)^{(1)} \text{ twice }, L(0)\: \text{ twice}.$ Here at least there is a recrusive method, but getting the precise module structure can be quite tricky. In this special case, you might take advantage of the fact that you are tensoring with a projective module for a certain Frobenius kernel. But in general it's complicated even in rank 1., ADDED: For some recent work on decomposition of tensor products into indecomposables, see for example a paper by Doty and Henke, *Decomposition of tensor products of modular irreducibles for SL$_2$.* Q. J. Math. 56 (2005), no. 2, 189-207 (preprint <a href="http://front.math.ucdavis.edu/0205.5186">here</a>). This involves tilting modules and their Frobenius twists.